glib2/glib2.sh

466 lines
12 KiB
Bash
Raw Normal View History

# GLib filename encoding guesser.
# Author: Stanislav Brabec <sbrabec@suse.cz>
# Additions are welcome.
# This script must be executed after setting LANG variable.
# Try filenames which are invalid in UTF-8 as locale specific.
# For selected locales, G_FILENAME_ENCODING takes precedence.
export G_BROKEN_FILENAMES=1
# In West Europe there was used both ISO-8859-15 and ISO-8859-1.
# There is no chance to recognize it, so we must guess.
#west_europe_legacy_encoding=ISO-8859-1
west_europe_legacy_encoding=ISO-8859-15
# In Russia, "official" encoding is ISO-8859-5, but most GNOME users
# preferred KOI8-R. We must guess.
#russian_legacy_encoding=ISO-8859-5
russian_legacy_encoding=KOI8-R
# In former Yugoslavia sr_YU have covered two different alphabets -
# one Latin and on Cyrillic. No chance to guess.
sr_YU_legacy_encoding=ISO-8859-2,CP1250
#sr_YU_legacy_encoding=ISO-8859-5
# Japanese uses two legacy encodings. Guess sometimes fails, sometimes not.
# Defining preferred encoding increases chance for success.
japanese_legacy_encoding=EUC-JP
#japanese_legacy_encoding=SHIFT_JIS
case $LANG in
aa_DJ* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
af_ZA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
an_ES* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
;;
ar_AE* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_BH* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_DZ* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_EG* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_IQ* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_JO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_KW* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_LB* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_LY* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_MA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_OM* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_QA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_SA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_SD* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_SY* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_TN* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
ar_YE* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-6
;;
be_BY* )
G_FILENAME_ENCODING=@locale,UTF-8,CP1251
;;
bg_BG* )
G_FILENAME_ENCODING=@locale,UTF-8,CP1251
;;
br_FR* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
bs_BA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
ca_ES* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
cs_CZ* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
cy_GB* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-14,CP1252
;;
da_DK* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
de_AT* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
de_BE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
de_DE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
de_CH* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
de_LU* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
el_GR* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-7
;;
en_AU* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_BE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
en_BW* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_CA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_DK* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_GB* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
en_HK* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_IE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
en_NZ* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_PH* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_SG* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_US* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
en_ZA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
en_ZW* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_AR* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_BO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_CL* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_CO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_CR* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_DO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_EC* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_ES* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
es_GT* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_HN* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_MX* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_NI* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_PA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_PE* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_PR* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_PY* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_SV* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_US* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_UY* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
es_VE* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
et_EE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
eu_ES* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
fa_IR* )
G_FILENAME_ENCODING=@locale,UTF-8,CP1256
;;
fi_FI* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
fo_FO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
fr_BE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
fr_CA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
fr_FR* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
fr_CH* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
fr_LU* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
ga_IE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
gd_GB* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
;;
gl_ES* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
gv_GB* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
he_IL* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-8
;;
hr_HR* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
hu_HU* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
hy_AM* )
G_FILENAME_ENCODING=@locale,UTF-8,ARMSCII-8
;;
id_ID* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
is_IS* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
it_CH* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
it_IT* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
iw_IL* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-8
;;
ja_JP* )
G_FILENAME_ENCODING=@locale,UTF-8,$japanese_legacy_encoding,EUC-JP,SHIFT_JIS,ISO-8859-1
;;
ka_GE* )
G_FILENAME_ENCODING=@locale,UTF-8,GEORGIAN-PS
;;
kl_GL* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
km_KH* )
G_FILENAME_ENCODING=@locale,UTF-8,GB18030
;;
ko_KR* )
G_FILENAME_ENCODING=@locale,UTF-8,EUC-KR,ISO-8859-1
;;
kw_GB* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
lg_UG* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-10,CP1252
;;
lt_LT* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
;;
lv_LV* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
;;
mi_NZ* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-13,CP1252
;;
mk_MK* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-5,CP1251
;;
ms_MY* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
mt_MT* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-3
;;
nb_NO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
nl_BE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
nl_NL* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
nn_NO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
no_NO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
oc_FR* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
om_KE* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
pl_PL* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
pt_BR* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
pt_PT* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
ro_RO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
ru_RU* )
G_FILENAME_ENCODING=@locale,UTF-8,$russian_legacy_encoding,CP1251
;;
ru_UA* )
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-U
;;
sh_YU* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
sk_SK* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
sl_SI* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-2,CP1250
;;
so_DJ* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
so_KE* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
so_SO* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
sq_AL* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
sr_YU* )
G_FILENAME_ENCODING=@locale,UTF-8,$sr_YU_legacy_encoding
;;
st_ZA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
sv_FI* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
sv_SE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
tg_TJ* )
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-T
;;
th_TH* )
G_FILENAME_ENCODING=@locale,UTF-8,TIS-620,ISO-8859-1
;;
tl_PH* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
tr_TR* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-9
;;
uk_UA* )
G_FILENAME_ENCODING=@locale,UTF-8,KOI8-U
;;
uz_UZ* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
vi_VN* )
G_FILENAME_ENCODING=@locale,UTF-8,TCVN5712-1,ISO-8859-1
;;
wa_BE* )
G_FILENAME_ENCODING=@locale,UTF-8,$west_europe_legacy_encoding,CP1252
;;
xh_ZA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
yi_US* )
G_FILENAME_ENCODING=@locale,UTF-8,CP1255
;;
zh_CN* )
G_FILENAME_ENCODING=@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
;;
zh_HK* )
G_FILENAME_ENCODING=@locale,UTF-8,BIG5-HKSCS,ISO-8859-1
;;
zh_SG* )
G_FILENAME_ENCODING=@locale,UTF-8,GB2312,GB18030,GBK,ISO-8859-1
;;
zh_TW* )
G_FILENAME_ENCODING=@locale,UTF-8,BIG5,EUC-TW,ISO-8859-1
;;
zu_ZA* )
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-1,CP1252
;;
esac
export G_FILENAME_ENCODING
unset west_europe_legacy_encoding
unset russian_legacy_encoding
unset sr_YU_legacy_encoding