Rev 41539 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
#! /bin/sh# Output a system dependent table of character encoding aliases.## Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc.## This program is free software; you can redistribute it and/or modify it# under the terms of the GNU Library General Public License as published# by the Free Software Foundation; either version 2, or (at your option)# any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU# Library General Public License for more details.## You should have received a copy of the GNU Library General Public# License along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,# USA.## The table consists of lines of the form# ALIAS CANONICAL## ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".# ALIAS is compared in a case sensitive way.## CANONICAL is the GNU canonical name for this character encoding.# It must be an encoding supported by libiconv. Support by GNU libc is# also desirable. CANONICAL is case insensitive. Usually an upper case# MIME charset name is preferred.# The current list of GNU canonical charset names is as follows.## name MIME? used by which systems# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd darwin# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd darwin# ISO-8859-3 Y glibc solaris# ISO-8859-4 Y osf solaris freebsd netbsd darwin# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd darwin# ISO-8859-6 Y glibc aix hpux solaris# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd darwin# ISO-8859-8 Y glibc aix hpux osf solaris# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin# ISO-8859-13 glibc netbsd darwin# ISO-8859-14 glibc# ISO-8859-15 glibc aix osf solaris freebsd darwin# KOI8-R Y glibc solaris freebsd netbsd darwin# KOI8-U Y glibc freebsd netbsd darwin# KOI8-T glibc# CP437 dos# CP775 dos# CP850 aix osf dos# CP852 dos# CP855 dos# CP856 aix# CP857 dos# CP861 dos# CP862 dos# CP864 dos# CP865 dos# CP866 freebsd netbsd darwin dos# CP869 dos# CP874 woe32 dos# CP922 aix# CP932 aix woe32 dos# CP943 aix# CP949 osf woe32 dos# CP950 woe32 dos# CP1046 aix# CP1124 aix# CP1125 dos# CP1129 aix# CP1250 woe32# CP1251 glibc solaris netbsd darwin woe32# CP1252 aix woe32# CP1253 woe32# CP1254 woe32# CP1255 glibc woe32# CP1256 woe32# CP1257 woe32# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin# EUC-TW glibc aix hpux irix osf solaris netbsd# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin# BIG5-HKSCS glibc solaris# GBK glibc aix osf solaris woe32 dos# GB18030 glibc solaris netbsd# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin# JOHAB glibc solaris woe32# TIS-620 glibc aix hpux osf solaris# VISCII Y glibc# TCVN5712-1 glibc# GEORGIAN-PS glibc# HP-ROMAN8 hpux# HP-ARABIC8 hpux# HP-GREEK8 hpux# HP-HEBREW8 hpux# HP-TURKISH8 hpux# HP-KANA8 hpux# DEC-KANJI osf# DEC-HANYU osf# UTF-8 Y glibc aix hpux osf solaris netbsd darwin## Note: Names which are not marked as being a MIME name should not be used in# Internet protocols for information interchange (mail, news, etc.).## Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications# must understand both names and treat them as equivalent.## The first argument passed to this file is the canonical host specification,# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM# or# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEMhost="$1"os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`echo "# This file contains a table of character encoding aliases,"echo "# suitable for operating system '${os}'."echo "# It was automatically generated from config.charset."# List of references, updated during installation:echo "# Packages using this file: "case "$os" inlinux-gnulibc1*)# Linux libc5 doesn't have nl_langinfo(CODESET); therefore# localcharset.c falls back to using the full locale name# from the environment variables.echo "C ASCII"echo "POSIX ASCII"for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \sv_FI sv_SE; doecho "$l ISO-8859-1"echo "$l.iso-8859-1 ISO-8859-1"echo "$l.iso-8859-15 ISO-8859-15"echo "$l.iso-8859-15@euro ISO-8859-15"echo "$l@euro ISO-8859-15"echo "$l.cp-437 CP437"echo "$l.cp-850 CP850"echo "$l.cp-1252 CP1252"echo "$l.cp-1252@euro CP1252"#echo "$l.atari-st ATARI-ST" # not a commonly used encodingecho "$l.utf-8 UTF-8"echo "$l.utf-8@euro UTF-8"donefor l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \sl_SI sr sr_CS sr_YU; doecho "$l ISO-8859-2"echo "$l.iso-8859-2 ISO-8859-2"echo "$l.cp-852 CP852"echo "$l.cp-1250 CP1250"echo "$l.utf-8 UTF-8"donefor l in mk mk_MK ru ru_RU; doecho "$l ISO-8859-5"echo "$l.iso-8859-5 ISO-8859-5"echo "$l.koi8-r KOI8-R"echo "$l.cp-866 CP866"echo "$l.cp-1251 CP1251"echo "$l.utf-8 UTF-8"donefor l in ar ar_SA; doecho "$l ISO-8859-6"echo "$l.iso-8859-6 ISO-8859-6"echo "$l.cp-864 CP864"#echo "$l.cp-868 CP868" # not a commonly used encodingecho "$l.cp-1256 CP1256"echo "$l.utf-8 UTF-8"donefor l in el el_GR gr gr_GR; doecho "$l ISO-8859-7"echo "$l.iso-8859-7 ISO-8859-7"echo "$l.cp-869 CP869"echo "$l.cp-1253 CP1253"echo "$l.cp-1253@euro CP1253"echo "$l.utf-8 UTF-8"echo "$l.utf-8@euro UTF-8"donefor l in he he_IL iw iw_IL; doecho "$l ISO-8859-8"echo "$l.iso-8859-8 ISO-8859-8"echo "$l.cp-862 CP862"echo "$l.cp-1255 CP1255"echo "$l.utf-8 UTF-8"donefor l in tr tr_TR; doecho "$l ISO-8859-9"echo "$l.iso-8859-9 ISO-8859-9"echo "$l.cp-857 CP857"echo "$l.cp-1254 CP1254"echo "$l.utf-8 UTF-8"donefor l in lt lt_LT lv lv_LV; do#echo "$l BALTIC" # not a commonly used encoding, wrong encoding nameecho "$l ISO-8859-13"donefor l in ru_UA uk uk_UA; doecho "$l KOI8-U"donefor l in zh zh_CN; do#echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding nameecho "$l GB2312"donefor l in ja ja_JP ja_JP.EUC; doecho "$l EUC-JP"donefor l in ko ko_KR; doecho "$l EUC-KR"donefor l in th th_TH; doecho "$l TIS-620"donefor l in fa fa_IR; do#echo "$l ISIRI-3342" # a broken encodingecho "$l.utf-8 UTF-8"done;;linux* | *-gnu*)# With glibc-2.1 or newer, we don't need any canonicalization,# because glibc has iconv and both glibc and libiconv support all# GNU canonical names directly. Therefore, the Makefile does not# need to install the alias file at all.# The following applies only to glibc-2.0.x and older libcs.echo "ISO_646.IRV:1983 ASCII";;aix*)echo "ISO8859-1 ISO-8859-1"echo "ISO8859-2 ISO-8859-2"echo "ISO8859-5 ISO-8859-5"echo "ISO8859-6 ISO-8859-6"echo "ISO8859-7 ISO-8859-7"echo "ISO8859-8 ISO-8859-8"echo "ISO8859-9 ISO-8859-9"echo "ISO8859-15 ISO-8859-15"echo "IBM-850 CP850"echo "IBM-856 CP856"echo "IBM-921 ISO-8859-13"echo "IBM-922 CP922"echo "IBM-932 CP932"echo "IBM-943 CP943"echo "IBM-1046 CP1046"echo "IBM-1124 CP1124"echo "IBM-1129 CP1129"echo "IBM-1252 CP1252"echo "IBM-eucCN GB2312"echo "IBM-eucJP EUC-JP"echo "IBM-eucKR EUC-KR"echo "IBM-eucTW EUC-TW"echo "big5 BIG5"echo "GBK GBK"echo "TIS-620 TIS-620"echo "UTF-8 UTF-8";;hpux*)echo "iso88591 ISO-8859-1"echo "iso88592 ISO-8859-2"echo "iso88595 ISO-8859-5"echo "iso88596 ISO-8859-6"echo "iso88597 ISO-8859-7"echo "iso88598 ISO-8859-8"echo "iso88599 ISO-8859-9"echo "iso885915 ISO-8859-15"echo "roman8 HP-ROMAN8"echo "arabic8 HP-ARABIC8"echo "greek8 HP-GREEK8"echo "hebrew8 HP-HEBREW8"echo "turkish8 HP-TURKISH8"echo "kana8 HP-KANA8"echo "tis620 TIS-620"echo "big5 BIG5"echo "eucJP EUC-JP"echo "eucKR EUC-KR"echo "eucTW EUC-TW"echo "hp15CN GB2312"#echo "ccdc ?" # what is this?echo "SJIS SHIFT_JIS"echo "utf8 UTF-8";;irix*)echo "ISO8859-1 ISO-8859-1"echo "ISO8859-2 ISO-8859-2"echo "ISO8859-5 ISO-8859-5"echo "ISO8859-7 ISO-8859-7"echo "ISO8859-9 ISO-8859-9"echo "eucCN GB2312"echo "eucJP EUC-JP"echo "eucKR EUC-KR"echo "eucTW EUC-TW";;osf*)echo "ISO8859-1 ISO-8859-1"echo "ISO8859-2 ISO-8859-2"echo "ISO8859-4 ISO-8859-4"echo "ISO8859-5 ISO-8859-5"echo "ISO8859-7 ISO-8859-7"echo "ISO8859-8 ISO-8859-8"echo "ISO8859-9 ISO-8859-9"echo "ISO8859-15 ISO-8859-15"echo "cp850 CP850"echo "big5 BIG5"echo "dechanyu DEC-HANYU"echo "dechanzi GB2312"echo "deckanji DEC-KANJI"echo "deckorean EUC-KR"echo "eucJP EUC-JP"echo "eucKR EUC-KR"echo "eucTW EUC-TW"echo "GBK GBK"echo "KSC5601 CP949"echo "sdeckanji EUC-JP"echo "SJIS SHIFT_JIS"echo "TACTIS TIS-620"echo "UTF-8 UTF-8";;solaris*)echo "646 ASCII"echo "ISO8859-1 ISO-8859-1"echo "ISO8859-2 ISO-8859-2"echo "ISO8859-3 ISO-8859-3"echo "ISO8859-4 ISO-8859-4"echo "ISO8859-5 ISO-8859-5"echo "ISO8859-6 ISO-8859-6"echo "ISO8859-7 ISO-8859-7"echo "ISO8859-8 ISO-8859-8"echo "ISO8859-9 ISO-8859-9"echo "ISO8859-15 ISO-8859-15"echo "koi8-r KOI8-R"echo "ansi-1251 CP1251"echo "BIG5 BIG5"echo "Big5-HKSCS BIG5-HKSCS"echo "gb2312 GB2312"echo "GBK GBK"echo "GB18030 GB18030"echo "cns11643 EUC-TW"echo "5601 EUC-KR"echo "ko_KR.johap92 JOHAB"echo "eucJP EUC-JP"echo "PCK SHIFT_JIS"echo "TIS620.2533 TIS-620"#echo "sun_eu_greek ?" # what is this?echo "UTF-8 UTF-8";;freebsd* | os2*)# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore# localcharset.c falls back to using the full locale name# from the environment variables.# Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just# reuse FreeBSD's locale data for OS/2.echo "C ASCII"echo "US-ASCII ASCII"for l in la_LN lt_LN; doecho "$l.ASCII ASCII"donefor l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; doecho "$l.ISO_8859-1 ISO-8859-1"echo "$l.DIS_8859-15 ISO-8859-15"donefor l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; doecho "$l.ISO_8859-2 ISO-8859-2"donefor l in la_LN lt_LT; doecho "$l.ISO_8859-4 ISO-8859-4"donefor l in ru_RU ru_SU; doecho "$l.KOI8-R KOI8-R"echo "$l.ISO_8859-5 ISO-8859-5"echo "$l.CP866 CP866"doneecho "uk_UA.KOI8-U KOI8-U"echo "zh_TW.BIG5 BIG5"echo "zh_TW.Big5 BIG5"echo "zh_CN.EUC GB2312"echo "ja_JP.EUC EUC-JP"echo "ja_JP.SJIS SHIFT_JIS"echo "ja_JP.Shift_JIS SHIFT_JIS"echo "ko_KR.EUC EUC-KR";;netbsd*)echo "646 ASCII"echo "ISO8859-1 ISO-8859-1"echo "ISO8859-2 ISO-8859-2"echo "ISO8859-4 ISO-8859-4"echo "ISO8859-5 ISO-8859-5"echo "ISO8859-7 ISO-8859-7"echo "ISO8859-13 ISO-8859-13"echo "ISO8859-15 ISO-8859-15"echo "eucCN GB2312"echo "eucJP EUC-JP"echo "eucKR EUC-KR"echo "eucTW EUC-TW"echo "BIG5 BIG5"echo "SJIS SHIFT_JIS";;darwin[56]*)# Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore# localcharset.c falls back to using the full locale name# from the environment variables.echo "C ASCII"for l in en_AU en_CA en_GB en_US la_LN; doecho "$l.US-ASCII ASCII"donefor l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \nl_NL no_NO pt_PT sv_SE; doecho "$l ISO-8859-1"echo "$l.ISO8859-1 ISO-8859-1"echo "$l.ISO8859-15 ISO-8859-15"donefor l in la_LN; doecho "$l.ISO8859-1 ISO-8859-1"echo "$l.ISO8859-15 ISO-8859-15"donefor l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; doecho "$l.ISO8859-2 ISO-8859-2"donefor l in la_LN lt_LT; doecho "$l.ISO8859-4 ISO-8859-4"donefor l in ru_RU; doecho "$l.KOI8-R KOI8-R"echo "$l.ISO8859-5 ISO-8859-5"echo "$l.CP866 CP866"donefor l in bg_BG; doecho "$l.CP1251 CP1251"doneecho "uk_UA.KOI8-U KOI8-U"echo "zh_TW.BIG5 BIG5"echo "zh_TW.Big5 BIG5"echo "zh_CN.EUC GB2312"echo "ja_JP.EUC EUC-JP"echo "ja_JP.SJIS SHIFT_JIS"echo "ko_KR.EUC EUC-KR";;darwin*)# Darwin 7.5 has nl_langinfo(CODESET), but it is useless:# - It returns the empty string when LANG is set to a locale of the# form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8# LC_CTYPE file.# - The environment variables LANG, LC_CTYPE, LC_ALL are not set by# the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.# - The documentation says:# "... all code that calls BSD system routines should ensure# that the const *char parameters of these routines are in UTF-8# encoding. All BSD system functions expect their string# parameters to be in UTF-8 encoding and nothing else."# It also says# "An additional caveat is that string parameters for files,# paths, and other file-system entities must be in canonical# UTF-8. In a canonical UTF-8 Unicode string, all decomposable# characters are decomposed ..."# but this is not true: You can pass non-decomposed UTF-8 strings# to file system functions, and it is the OS which will convert# them to decomposed UTF-8 before accessing the file system.# - The Apple Terminal application displays UTF-8 by default.# - However, other applications are free to use different encodings:# - xterm uses ISO-8859-1 by default.# - TextEdit uses MacRoman by default.# We prefer UTF-8 over decomposed UTF-8-MAC because one should# minimize the use of decomposed Unicode. Unfortunately, through the# Darwin file system, decomposed UTF-8 strings are leaked into user# space nevertheless.echo "* UTF-8";;beos*)# BeOS has a single locale, and it has UTF-8 encoding.echo "* UTF-8";;msdosdjgpp*)# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore# localcharset.c falls back to using the full locale name# from the environment variables.echo "#"echo "# The encodings given here may not all be correct."echo "# If you find that the encoding given for your language and"echo "# country is not the one your DOS machine actually uses, just"echo "# correct it in this file, and send a mail to"echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"echo "# and Bruno Haible <bruno@clisp.org>."echo "#"echo "C ASCII"# ISO-8859-1 languagesecho "ca CP850"echo "ca_ES CP850"echo "da CP865" # not CP850 ??echo "da_DK CP865" # not CP850 ??echo "de CP850"echo "de_AT CP850"echo "de_CH CP850"echo "de_DE CP850"echo "en CP850"echo "en_AU CP850" # not CP437 ??echo "en_CA CP850"echo "en_GB CP850"echo "en_NZ CP437"echo "en_US CP437"echo "en_ZA CP850" # not CP437 ??echo "es CP850"echo "es_AR CP850"echo "es_BO CP850"echo "es_CL CP850"echo "es_CO CP850"echo "es_CR CP850"echo "es_CU CP850"echo "es_DO CP850"echo "es_EC CP850"echo "es_ES CP850"echo "es_GT CP850"echo "es_HN CP850"echo "es_MX CP850"echo "es_NI CP850"echo "es_PA CP850"echo "es_PY CP850"echo "es_PE CP850"echo "es_SV CP850"echo "es_UY CP850"echo "es_VE CP850"echo "et CP850"echo "et_EE CP850"echo "eu CP850"echo "eu_ES CP850"echo "fi CP850"echo "fi_FI CP850"echo "fr CP850"echo "fr_BE CP850"echo "fr_CA CP850"echo "fr_CH CP850"echo "fr_FR CP850"echo "ga CP850"echo "ga_IE CP850"echo "gd CP850"echo "gd_GB CP850"echo "gl CP850"echo "gl_ES CP850"echo "id CP850" # not CP437 ??echo "id_ID CP850" # not CP437 ??echo "is CP861" # not CP850 ??echo "is_IS CP861" # not CP850 ??echo "it CP850"echo "it_CH CP850"echo "it_IT CP850"echo "lt CP775"echo "lt_LT CP775"echo "lv CP775"echo "lv_LV CP775"echo "nb CP865" # not CP850 ??echo "nb_NO CP865" # not CP850 ??echo "nl CP850"echo "nl_BE CP850"echo "nl_NL CP850"echo "nn CP865" # not CP850 ??echo "nn_NO CP865" # not CP850 ??echo "no CP865" # not CP850 ??echo "no_NO CP865" # not CP850 ??echo "pt CP850"echo "pt_BR CP850"echo "pt_PT CP850"echo "sv CP850"echo "sv_SE CP850"# ISO-8859-2 languagesecho "cs CP852"echo "cs_CZ CP852"echo "hr CP852"echo "hr_HR CP852"echo "hu CP852"echo "hu_HU CP852"echo "pl CP852"echo "pl_PL CP852"echo "ro CP852"echo "ro_RO CP852"echo "sk CP852"echo "sk_SK CP852"echo "sl CP852"echo "sl_SI CP852"echo "sq CP852"echo "sq_AL CP852"echo "sr CP852" # CP852 or CP866 or CP855 ??echo "sr_CS CP852" # CP852 or CP866 or CP855 ??echo "sr_YU CP852" # CP852 or CP866 or CP855 ??# ISO-8859-3 languagesecho "mt CP850"echo "mt_MT CP850"# ISO-8859-5 languagesecho "be CP866"echo "be_BE CP866"echo "bg CP866" # not CP855 ??echo "bg_BG CP866" # not CP855 ??echo "mk CP866" # not CP855 ??echo "mk_MK CP866" # not CP855 ??echo "ru CP866"echo "ru_RU CP866"echo "uk CP1125"echo "uk_UA CP1125"# ISO-8859-6 languagesecho "ar CP864"echo "ar_AE CP864"echo "ar_DZ CP864"echo "ar_EG CP864"echo "ar_IQ CP864"echo "ar_IR CP864"echo "ar_JO CP864"echo "ar_KW CP864"echo "ar_MA CP864"echo "ar_OM CP864"echo "ar_QA CP864"echo "ar_SA CP864"echo "ar_SY CP864"# ISO-8859-7 languagesecho "el CP869"echo "el_GR CP869"# ISO-8859-8 languagesecho "he CP862"echo "he_IL CP862"# ISO-8859-9 languagesecho "tr CP857"echo "tr_TR CP857"# Japaneseecho "ja CP932"echo "ja_JP CP932"# Chineseecho "zh_CN GBK"echo "zh_TW CP950" # not CP938 ??# Koreanecho "kr CP949" # not CP934 ??echo "kr_KR CP949" # not CP934 ??# Thaiecho "th CP874"echo "th_TH CP874"# Otherecho "eo CP850"echo "eo_EO CP850";;esac