From 651133f28d3f74ccb6e2b0a8afff8eead5f26f4f Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 19 Aug 2013 16:21:29 +0000 Subject: [PATCH] * lc_msg.h: Regenerate. * nlsfuncs.cc (__get_lcid_from_locale): Update list of Script-only locales to Windows 8. (__set_charset_from_locale): Take locales added with Windows 8 and 8.1 into account. --- winsup/cygwin/ChangeLog | 8 ++++++++ winsup/cygwin/lc_msg.h | 10 ++++++++-- winsup/cygwin/nlsfuncs.cc | 34 +++++++++++++++++++++++++++++----- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b36039bd1..43adbacc4 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2013-08-19 Corinna Vinschen + + * lc_msg.h: Regenerate. + * nlsfuncs.cc (__get_lcid_from_locale): Update list of Script-only + locales to Windows 8. + (__set_charset_from_locale): Take locales added with Windows 8 and 8.1 + into account. + 2013-08-19 Corinna Vinschen * fhandler_tape.cc (mtinfo_drive::set_pos): Remove unneeded linebreak. diff --git a/winsup/cygwin/lc_msg.h b/winsup/cygwin/lc_msg.h index 6b7ccaaff..6d9fb6bf9 100644 --- a/winsup/cygwin/lc_msg.h +++ b/winsup/cygwin/lc_msg.h @@ -1,5 +1,5 @@ /* This struct of LC_MESSAGES data has been generated by fetching locale - data from a Linux system using glibc-2.16-28.fc18.x86_64 on 2013-03-30. */ + data from a Linux system using glibc-2.17-11.fc19.x86_64 on 2013-08-19. */ struct lc_msg_t { @@ -39,6 +39,7 @@ static struct lc_msg_t lc_msg[] = { "ar_YE", L"^[\x0646yY].*", L"^[\x0644nN].*", L"\x0646\x0639\x0645", L"\x0644\x0627" }, { "as_IN", L"^[yY\x09b9].*", L"^[nN\x09a8].*", L"\x09b9\x09df", L"\x09a8\x09b9\x09df" }, { "ast_ES", L"^[sSyY].*", L"^[nN].*", L"", L"" }, + { "ayc_PE", L"^[uUsSyY].*", L"^[jJnN].*", L"Ukhamawa", L"Janiwa" }, { "az_AZ", L"^[Bb].*", L"^[YyNn].*", L"b\x0259li", L"yox" }, { "be_BY", L"^[\x0422\x0442Yy].*", L"^[\x041d\x043dNn].*", L"", L"" }, { "be_BY@latin", L"^[TtYy].*", L"^[Nn].*", L"", L"" }, @@ -161,6 +162,7 @@ static struct lc_msg_t lc_msg[] = { "ht_HT", L"^[ooyy].*", L"^[nn].*", L"", L"" }, { "hu_HU", L"^[IiYy].*", L"^[nN].*", L"", L"" }, { "hy_AM", L"^[yYsS\x0561\x0531]", L"^[nN\x0578\x0548]", L"\x0561\x0575\x0578", L"\x0578\x0579" }, + { "ia_FR", L"^[sSyY].*", L"^[nN].*", L"Si", L"No" }, { "id_ID", L"^[yY].*", L"^[tTnN].*", L"", L"" }, { "ig_NG", L"^[EeIiYy].*", L"^[0MmNn].*", L"Ee", L"Mba" }, { "ik_CA", L"[yYiIaA].*", L"[nNqQ].*", L"aa", L"qa\x00f1\x0061\x0061" }, @@ -209,6 +211,9 @@ static struct lc_msg_t lc_msg[] = { "nds_DE", L"^[jJyY].*", L"^[nN].*", L"", L"" }, { "nds_NL", L"^[jJyY].*", L"^[nN].*", L"", L"" }, { "ne_NP", L"^[yY].*", L"^[nN].*", L"", L"" }, + { "nhn_MX", L"^[sSqQyY].*", L"^[nNaA].*", L"quema", L"ahmo" }, + { "niu_NU", L"^[\x0113\x0112yY].*", L"^[nN].*", L"Talia", L"Nakai" }, + { "niu_NZ", L"^[\x0113\x0112yY].*", L"^[nN].*", L"Talia", L"Nakai" }, { "nl_AW", L"^[jJyY].*", L"^[nN].*", L"", L"" }, { "nl_BE", L"^[jJyY].*", L"^[nN].*", L"", L"" }, { "nl_BE@euro", L"^[jJyY].*", L"^[nN].*", L"", L"" }, @@ -267,6 +272,7 @@ static struct lc_msg_t lc_msg[] = { "sv_SE", L"^[jJyY].*", L"^[nN].*", L"", L"" }, { "sw_KE", L"^[nNyY].*", L"^[hHlL].*", L"", L"" }, { "sw_TZ", L"^[nNyY].*", L"^[hHlL].*", L"", L"" }, + { "szl_PL", L"^[JjTtYy].*", L"^[nN].*", L"", L"" }, { "ta_IN", L"^[\x0b86\x0bae\x0bcdyY]", L"^[\x0b87\x0bb2\x0bcd\x0bb2\x0bc8nN]", L"\x0b86\x0bae\x0bcd", L"\x0b87\x0bb2\x0bcd\x0bb2\x0bc8" }, { "ta_LK", L"^[\x0b86\x0bae\x0bcdyY]", L"^[\x0b87\x0bb2\x0bcd\x0bb2\x0bc8nN]", L"\x0b86\x0bae\x0bcd", L"\x0b87\x0bb2\x0bcd\x0bb2\x0bc8" }, { "te_IN", L"^[yY\x0c05].*", L"^[nN\x0c15].*", L"\x0c05\x0c35\x0c28\x0c41", L"\x0c15\x0c3e\x0c26\x0c41" }, @@ -283,7 +289,7 @@ static struct lc_msg_t lc_msg[] = { "ts_ZA", L"^[yY]", L"^[nN]", L"", L"" }, { "tt_RU", L"^[\x0414\x0434Yy].*", L"^[\x041d\x043dNn].*", L"\x04d8\x0439\x0435", L"\x042e\x043a" }, { "tt_RU@iqtelif", L"^[Ee].*", L"^[YyNn].*", L"ey\x00ed", L"yuq" }, - { "ug_CN", L"^[1JjsSyYoO].*", L"^[0nN].*", L"yes", L"no" }, + { "ug_CN", L"^[yY].*", L"^[nN].*", L"Yes", L"No" }, { "uk_UA", L"^([Yy+]|[\x0422\x0442][\x0410\x0430][\x041a\x043a]?)$", L"^([Nn-]|[\x041d\x043d][\x0406\x0456])$", L"\x0442\x0430\x043a", L"\x043d\x0456" }, { "unm_US", L"^[yY].*", L"^[kKmM].*", L"", L"" }, { "ur_IN", L"^[\x06c1yY].*", L"^[\x0646nN].*", L"\x06c1\x0627\x06ba", L"\x0646\x06c1\x06cc\x06ba" }, diff --git a/winsup/cygwin/nlsfuncs.cc b/winsup/cygwin/nlsfuncs.cc index 0388f32fd..91b2439b1 100644 --- a/winsup/cygwin/nlsfuncs.cc +++ b/winsup/cygwin/nlsfuncs.cc @@ -100,16 +100,22 @@ __get_lcid_from_locale (const char *name) } sc_only_locale[] = { { "az-AZ" , L"az-Latn-AZ" }, { "bs-BA" , L"bs-Latn-BA" }, + { "chr-US", L"chr-Cher-US"}, + { "ff-SN" , L"ff-Latn-SN" }, { "ha-NG" , L"ha-Latn-NG" }, { "iu-CA" , L"iu-Latn-CA" }, + { "ku-IQ" , L"ku-Arab-IQ" }, { "mn-CN" , L"mn-Mong-CN" }, { "no-NO" , L"nb-NO" }, + { "pa-PK" , L"pa-Arab-PK" }, + { "sd-PK" , L"sd-Arab-PK" }, { "sr-BA" , L"sr-Cyrl-BA" }, { "sr-CS" , L"sr-Cyrl-CS" }, { "sr-ME" , L"sr-Cyrl-ME" }, { "sr-RS" , L"sr-Cyrl-RS" }, { "tg-TJ" , L"tg-Cyrl-TJ" }, { "tzm-DZ", L"tzm-Latn-DZ" }, + { "tzm-MA", L"tzm-Tfng-MA" }, { "uz-UZ" , L"uz-Latn-UZ" }, { NULL , NULL } }; @@ -1337,17 +1343,20 @@ __set_charset_from_locale (const char *locale, char *charset) if (lcid == 0x0452) /* cy_GB (Welsh/Great Britain) */ cs = "ISO-8859-14"; else if (lcid == 0x4009 /* en_IN (English/India) */ + || lcid == 0x0867 /* ff_SN (Fulah/Senegal) */ || lcid == 0x0464 /* fil_PH (Filipino/Philippines) */ || lcid == 0x0462 /* fy_NL (Frisian/Netherlands) */ || lcid == 0x0468 /* ha_NG (Hausa/Nigeria) */ + || lcid == 0x0475 /* haw_US (Hawaiian/United States) */ || lcid == 0x0470 /* ig_NG (Igbo/Nigeria) */ + || lcid == 0x085d /* iu_CA (Inuktitut/Canada) */ || lcid == 0x046c /* nso_ZA (Northern Sotho/South Africa) */ || lcid == 0x0487 /* rw_RW (Kinyarwanda/Rwanda) */ || lcid == 0x043b /* se_NO (Northern Saami/Norway) */ + || lcid == 0x0832 /* tn_BW (Tswana/Botswana) */ || lcid == 0x0432 /* tn_ZA (Tswana/South Africa) */ || lcid == 0x0488 /* wo_SN (Wolof/Senegal) */ - || lcid == 0x046a /* yo_NG (Yoruba/Nigeria) */ - || lcid == 0x085d) /* iu_CA (Inuktitut/Canada) */ + || lcid == 0x046a) /* yo_NG (Yoruba/Nigeria) */ cs = "UTF-8"; else if (lcid == 0x042e) /* hsb_DE (Upper Sorbian/Germany) */ cs = "ISO-8859-2"; @@ -1375,6 +1384,8 @@ __set_charset_from_locale (const char *locale, char *charset) break; case 1256: if (lcid == 0x0429 /* fa_IR (Persian/Iran) */ + || lcid == 0x0846 /* pa_PK (Punjabi/Pakistan) */ + || lcid == 0x0859 /* sd_PK (Sindhi/Pakistan) */ || lcid == 0x0480 /* ug_CN (Uyghur/China) */ || lcid == 0x0420) /* ur_PK (Urdu/Pakistan) */ cs = "UTF-8"; @@ -1389,17 +1400,30 @@ __set_charset_from_locale (const char *locale, char *charset) break; case 1258: default: - if (lcid == 0x0481) /* mi_NZ (Maori/New Zealand) */ - cs = "ISO-8859-13"; + if (lcid == 0x3c09 /* en_HK (English/Hong Kong) */ + || lcid == 0x200c /* fr_RE (French/RĂ©union) */ + || lcid == 0x240c /* fr_CD (French/Congo) */ + || lcid == 0x280c /* fr_SN (French/Senegal) */ + || lcid == 0x2c0c /* fr_CM (French/Cameroon) */ + || lcid == 0x300c /* fr_CI (French/Ivory Coast) */ + || lcid == 0x340c /* fr_ML (French/Mali) */ + || lcid == 0x380c /* fr_MA (French/Morocco) */ + || lcid == 0x3c0c /* fr_HT (French/Haiti) */ + || lcid == 0x0477 /* so_SO (Somali/Somali) */ + || lcid == 0x0430) /* st_ZA (Sotho/South Africa) */ + cs = "ISO-8859-1"; + else if (lcid == 0x818) /* ro_MD (Romanian/Moldovia) */ + cs = "ISO-8859-2"; else if (lcid == 0x043a) /* mt_MT (Maltese/Malta) */ cs = "ISO-8859-3"; + else if (lcid == 0x0481) /* mi_NZ (Maori/New Zealand) */ + cs = "ISO-8859-13"; else if (lcid == 0x0437) /* ka_GE (Georgian/Georgia) */ cs = "GEORGIAN-PS"; else if (lcid == 0x043f) /* kk_KZ (Kazakh/Kazakhstan) */ cs = "PT154"; else cs = "UTF-8"; - break; } stpcpy (charset, cs); }