#! /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_SYSTEM

host="$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" in
    linux-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; do
	  echo "$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 encoding
	  echo "$l.utf-8 UTF-8"
	  echo "$l.utf-8@euro UTF-8"
	done
	for 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; do
	  echo "$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"
	done
	for l in mk mk_MK ru ru_RU; do
	  echo "$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"
	done
	for l in ar ar_SA; do
	  echo "$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 encoding
	  echo "$l.cp-1256 CP1256"
	  echo "$l.utf-8 UTF-8"
	done
	for l in el el_GR gr gr_GR; do
	  echo "$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"
	done
	for l in he he_IL iw iw_IL; do
	  echo "$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"
	done
	for l in tr tr_TR; do
	  echo "$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"
	done
	for l in lt lt_LT lv lv_LV; do
	  #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
	  echo "$l ISO-8859-13"
	done
	for l in ru_UA uk uk_UA; do
	  echo "$l KOI8-U"
	done
	for l in zh zh_CN; do
	  #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
	  echo "$l GB2312"
	done
	for l in ja ja_JP ja_JP.EUC; do
	  echo "$l EUC-JP"
	done
	for l in ko ko_KR; do
	  echo "$l EUC-KR"
	done
	for l in th th_TH; do
	  echo "$l TIS-620"
	done
	for l in fa fa_IR; do
	  #echo "$l ISIRI-3342" # a broken encoding
	  echo "$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; do
	  echo "$l.ASCII ASCII"
	done
	for 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; do
	  echo "$l.ISO_8859-1 ISO-8859-1"
	  echo "$l.DIS_8859-15 ISO-8859-15"
	done
	for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
	  echo "$l.ISO_8859-2 ISO-8859-2"
	done
	for l in la_LN lt_LT; do
	  echo "$l.ISO_8859-4 ISO-8859-4"
	done
	for l in ru_RU ru_SU; do
	  echo "$l.KOI8-R KOI8-R"
	  echo "$l.ISO_8859-5 ISO-8859-5"
	  echo "$l.CP866 CP866"
	done
	echo "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; do
	  echo "$l.US-ASCII ASCII"
	done
	for 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; do
	  echo "$l ISO-8859-1"
	  echo "$l.ISO8859-1 ISO-8859-1"
	  echo "$l.ISO8859-15 ISO-8859-15"
	done
	for l in la_LN; do
	  echo "$l.ISO8859-1 ISO-8859-1"
	  echo "$l.ISO8859-15 ISO-8859-15"
	done
	for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
	  echo "$l.ISO8859-2 ISO-8859-2"
	done
	for l in la_LN lt_LT; do
	  echo "$l.ISO8859-4 ISO-8859-4"
	done
	for l in ru_RU; do
	  echo "$l.KOI8-R KOI8-R"
	  echo "$l.ISO8859-5 ISO-8859-5"
	  echo "$l.CP866 CP866"
	done
	for l in bg_BG; do
	  echo "$l.CP1251 CP1251"
	done
	echo "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.
	#
	# Even with those limitations, nl_langinfo does work often
	# enough to be useful. Since setenv works only with locales
	# provided in /usr/share/locale, the following aliases are the
	# codesets used there.
	echo "ARMSCII-8 ARMSCII-8"
	echo "Big5HKSCS BIG5-HKSCS"
	echo "Big5 BIG5"
	echo "CP866 CP866"
	echo "CP949 CP949"
	echo "CP1131 CP1131"
	echo "CP1251 CP1251"
	echo "eucCN EUC-CN"
	echo "eucKR EUC-KR"
	echo "eucJP EUC-JP"
	echo "eucjp EUC-JP"
	echo "GB18030 GB18030"
	echo "GB2312 GB2312"
	echo "GBK GBK"
#	echo "ISCII-DEV ISCII_DEV" Not supported by iconv
	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-9 ISO-8859-9"
	echo "ISO8859-13 ISO-8859-13"
	echo "ISO8859-15 ISO-8859-15"
	echo "KOI8-R KOI8-R"
	echo "KOI8-U KOI8-U"
	echo "PT154 CP154"
	echo "SJIS SHIFT_JIS"
	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 languages
	echo "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 languages
	echo "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 languages
	echo "mt CP850"
	echo "mt_MT CP850"
	# ISO-8859-5 languages
	echo "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 languages
	echo "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 languages
	echo "el CP869"
	echo "el_GR CP869"
	# ISO-8859-8 languages
	echo "he CP862"
	echo "he_IL CP862"
	# ISO-8859-9 languages
	echo "tr CP857"
	echo "tr_TR CP857"
	# Japanese
	echo "ja CP932"
	echo "ja_JP CP932"
	# Chinese
	echo "zh_CN GBK"
	echo "zh_TW CP950" # not CP938 ??
	# Korean
	echo "kr CP949"    # not CP934 ??
	echo "kr_KR CP949" # not CP934 ??
	# Thai
	echo "th CP874"
	echo "th_TH CP874"
	# Other
	echo "eo CP850"
	echo "eo_EO CP850"
	;;
esac
