Message ID | eb1814b5-cae3-8472-ece6-44bec12d570b@redhat.com |
---|---|
State | New |
Headers | show |
Series | Locales: Use CLDR matching thousands separator | expand |
Ping? There were no comments about this, how shall we proceed? Carlos commented in the CLDR ticket last week (https://unicode.org/cldr/trac/ticket/11217) but otherwise there has been no activity around it, for example it has no target milestone set so it seems clear that the possible change on the CLDR side will not be imminent. So to harmonize with CLDR now glibc would need to apply this patch. But of course going back and forth on the glibc side is not ideal if CLDR does the change some time in the future. But currently it is unclear when, if ever, that might happen, it could be several releases (years) from now. Perhaps do nothing for now, and prior next release try to conclude from the CLDR ticket whether it then seems warranted to apply this patch or not? Thanks, On 2018-06-28 14:09, Marko Myllynen wrote: > Hi, > > As discussed in the earlier thread [1] it might make sense to use U+00A0 > instead of U+202F in glibc locales as thousands separator to match the > current CLDR separator. If CLDR one day switches to U+202F we can revert > this patch to be in harmony with CLDR again. There is a CLDR ticket open > for discussion [2] where we can follow the status on the CLDR side. > > 1) https://sourceware.org/ml/libc-alpha/2018-06/msg00598.html > 2) https://unicode.org/cldr/trac/ticket/11217 > > > 2018-06-28 Marko Myllynen <myllynen@redhat.com> > > [BZ #23318] > * localedata/locales/aa_DJ (LC_MONETARY): Use NBSP > as thousands separator. > * localedata/locales/az_AZ (LC_MONETARY): Likewise. > * localedata/locales/be_BY (LC_MONETARY): Likewise. > * localedata/locales/be_BY@latin (LC_MONETARY): > Likewise. > * localedata/locales/bg_BG (LC_MONETARY): Likewise. > * localedata/locales/bs_BA (LC_MONETARY): Likewise. > * localedata/locales/ce_RU (LC_MONETARY): Likewise. > * localedata/locales/crh_UA (LC_MONETARY): Likewise. > * localedata/locales/cs_CZ (LC_MONETARY): Likewise. > * localedata/locales/cs_CZ (LC_NUMERIC): Likewise. > * localedata/locales/cv_RU (LC_MONETARY): Likewise. > * localedata/locales/de_AT (LC_MONETARY): Likewise. > * localedata/locales/eo (LC_MONETARY): Likewise. > * localedata/locales/es_CR (LC_MONETARY): Likewise. > * localedata/locales/es_CR (LC_NUMERIC): Likewise. > * localedata/locales/es_MX (LC_NUMERIC): Likewise. > * localedata/locales/et_EE (LC_MONETARY): Likewise. > * localedata/locales/et_EE (LC_NUMERIC): Likewise. > * localedata/locales/fi_FI (LC_MONETARY): Likewise. > * localedata/locales/fi_FI (LC_NUMERIC): Likewise. > * localedata/locales/fr_CA (LC_MONETARY): Likewise. > * localedata/locales/fr_FR (LC_MONETARY): Likewise. > * localedata/locales/fr_FR (LC_NUMERIC): Likewise. > * localedata/locales/fr_LU (LC_MONETARY): Likewise. > * localedata/locales/fr_LU (LC_NUMERIC): Likewise. > * localedata/locales/ht_HT (LC_MONETARY): Likewise. > * localedata/locales/ht_HT (LC_NUMERIC): Likewise. > * localedata/locales/kk_KZ (LC_MONETARY): Likewise. > * localedata/locales/kk_KZ (LC_NUMERIC): Likewise. > * localedata/locales/ky_KG (LC_MONETARY): Likewise. > * localedata/locales/ky_KG (LC_NUMERIC): Likewise. > * localedata/locales/lv_LV (LC_MONETARY): Likewise. > * localedata/locales/lv_LV (LC_NUMERIC): Likewise. > * localedata/locales/mfe_MU (LC_MONETARY): Likewise. > * localedata/locales/mfe_MU (LC_NUMERIC): Likewise. > * localedata/locales/mg_MG (LC_MONETARY): Likewise. > * localedata/locales/mhr_RU (LC_MONETARY): Likewise. > * localedata/locales/mk_MK (LC_MONETARY): Likewise. > * localedata/locales/mk_MK (LC_NUMERIC): Likewise. > * localedata/locales/mn_MN (LC_MONETARY): Likewise. > * localedata/locales/nb_NO (LC_MONETARY): Likewise. > * localedata/locales/nb_NO (LC_NUMERIC): Likewise. > * localedata/locales/nl_AW (LC_MONETARY): Likewise. > * localedata/locales/nl_NL (LC_MONETARY): Likewise. > * localedata/locales/nn_NO (LC_MONETARY): Likewise. > * localedata/locales/pap_AW (LC_MONETARY): Likewise. > * localedata/locales/pap_CW (LC_MONETARY): Likewise. > * localedata/locales/pl_PL (LC_MONETARY): Likewise. > * localedata/locales/pl_PL (LC_NUMERIC): Likewise. > * localedata/locales/ru_RU (LC_MONETARY): Likewise. > * localedata/locales/ru_RU (LC_NUMERIC): Likewise. > * localedata/locales/ru_UA (LC_MONETARY): Likewise. > * localedata/locales/sk_SK (LC_MONETARY): Likewise. > * localedata/locales/sk_SK (LC_NUMERIC): Likewise. > * localedata/locales/sl_SI (LC_MONETARY): Likewise. > * localedata/locales/sl_SI (LC_NUMERIC): Likewise. > * localedata/locales/sq_MK (LC_MONETARY): Likewise. > * localedata/locales/sv_SE (LC_MONETARY): Likewise. > * localedata/locales/sv_SE (LC_NUMERIC): Likewise. > * localedata/locales/tg_TJ (LC_MONETARY): Likewise. > * localedata/locales/tt_RU (LC_MONETARY): Likewise. > * localedata/locales/tt_RU@iqtelif (LC_MONETARY): > Likewise. > * localedata/locales/uk_UA (LC_MONETARY): Likewise. > * localedata/locales/uk_UA (LC_NUMERIC): Likewise. > * localedata/locales/unm_US (LC_MONETARY): Likewise. > * localedata/locales/unm_US (LC_NUMERIC): Likewise. > * localedata/locales/wo_SN (LC_MONETARY): Likewise. > * stdlib/tst-strfmon_l.c: Likewise. > * stdlib/tst-strtod4.c: Likewise. > * stdlib/tst-strtod5i.c: Likewise. > > > diff --git a/localedata/locales/aa_DJ b/localedata/locales/aa_DJ > index fcb9af8..4c0bdd8 100644 > --- a/localedata/locales/aa_DJ > +++ b/localedata/locales/aa_DJ > @@ -88,7 +88,7 @@ LC_MONETARY > int_curr_symbol "DJF " > currency_symbol "Fdj" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/az_AZ b/localedata/locales/az_AZ > index 6fe8839..450db3f 100644 > --- a/localedata/locales/az_AZ > +++ b/localedata/locales/az_AZ > @@ -158,7 +158,7 @@ LC_MONETARY > int_curr_symbol "AZN " > currency_symbol "<U20BC>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/be_BY b/localedata/locales/be_BY > index 324379b..1314f59 100644 > --- a/localedata/locales/be_BY > +++ b/localedata/locales/be_BY > @@ -105,7 +105,7 @@ LC_MONETARY > int_curr_symbol "BYR " > currency_symbol "<U0440><U0443><U0431>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/be_BY@latin b/localedata/locales/be_BY@latin > index 43b13cc..e5b0fd8 100644 > --- a/localedata/locales/be_BY@latin > +++ b/localedata/locales/be_BY@latin > @@ -126,7 +126,7 @@ LC_MONETARY > int_curr_symbol "BYR " > currency_symbol "Rub" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/bg_BG b/localedata/locales/bg_BG > index 7a9cfa0..cc954fd 100644 > --- a/localedata/locales/bg_BG > +++ b/localedata/locales/bg_BG > @@ -251,7 +251,7 @@ LC_MONETARY > int_curr_symbol "BGN " > currency_symbol "<U043B><U0432>." > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/bs_BA b/localedata/locales/bs_BA > index 3b18056..ca1f54a 100644 > --- a/localedata/locales/bs_BA > +++ b/localedata/locales/bs_BA > @@ -75,7 +75,7 @@ LC_MONETARY > int_curr_symbol "BAM " > currency_symbol "KM" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/ce_RU b/localedata/locales/ce_RU > index 03e60f8..49d0123 100644 > --- a/localedata/locales/ce_RU > +++ b/localedata/locales/ce_RU > @@ -106,7 +106,7 @@ LC_MONETARY > int_curr_symbol "RUB " > currency_symbol "<U20BD>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/crh_UA b/localedata/locales/crh_UA > index b2ac8c6..ca94e8c 100644 > --- a/localedata/locales/crh_UA > +++ b/localedata/locales/crh_UA > @@ -116,7 +116,7 @@ LC_MONETARY > int_curr_symbol "UAH " > currency_symbol "<U20B4>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ > index 41fbd2b..2db44e2 100644 > --- a/localedata/locales/cs_CZ > +++ b/localedata/locales/cs_CZ > @@ -237,7 +237,7 @@ LC_MONETARY > int_curr_symbol "CZK " > currency_symbol "K<U010D>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -258,7 +258,7 @@ END LC_MONETARY > LC_NUMERIC > > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > > END LC_NUMERIC > diff --git a/localedata/locales/cv_RU b/localedata/locales/cv_RU > index e9247b3..57d5646 100644 > --- a/localedata/locales/cv_RU > +++ b/localedata/locales/cv_RU > @@ -118,7 +118,7 @@ int_curr_symbol "RUB " > currency_symbol "<U20BD>" > > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/de_AT b/localedata/locales/de_AT > index b8cbbe1..1e411d6 100644 > --- a/localedata/locales/de_AT > +++ b/localedata/locales/de_AT > @@ -65,7 +65,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/eo b/localedata/locales/eo > index 33a8103..37296a1 100644 > --- a/localedata/locales/eo > +++ b/localedata/locales/eo > @@ -119,7 +119,7 @@ LC_MONETARY > int_curr_symbol "XDR " > currency_symbol "<U00A4>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/es_CR b/localedata/locales/es_CR > index f76a096..617d8d8 100644 > --- a/localedata/locales/es_CR > +++ b/localedata/locales/es_CR > @@ -59,7 +59,7 @@ int_curr_symbol "CRC " > currency_symbol "<U20A1>" > % Decreto Ejecutivo 29660 > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -76,7 +76,7 @@ END LC_MONETARY > LC_NUMERIC > % Decreto Ejecutivo 29660 > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/es_MX b/localedata/locales/es_MX > index 75cc000..6fad202 100644 > --- a/localedata/locales/es_MX > +++ b/localedata/locales/es_MX > @@ -82,7 +82,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "." > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/et_EE b/localedata/locales/et_EE > index f5c4714..06f0e4c 100644 > --- a/localedata/locales/et_EE > +++ b/localedata/locales/et_EE > @@ -120,7 +120,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -136,7 +136,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/fi_FI b/localedata/locales/fi_FI > index eeb2783..87fa9c1 100644 > --- a/localedata/locales/fi_FI > +++ b/localedata/locales/fi_FI > @@ -184,7 +184,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -200,7 +200,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/fr_CA b/localedata/locales/fr_CA > index e37d042..9892db5 100644 > --- a/localedata/locales/fr_CA > +++ b/localedata/locales/fr_CA > @@ -67,7 +67,7 @@ LC_MONETARY > int_curr_symbol "CAD " > currency_symbol "$" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/fr_FR b/localedata/locales/fr_FR > index a18c514..8e0c802 100644 > --- a/localedata/locales/fr_FR > +++ b/localedata/locales/fr_FR > @@ -78,7 +78,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3 > positive_sign "" > negative_sign "-" > @@ -94,7 +94,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3 > END LC_NUMERIC > > diff --git a/localedata/locales/fr_LU b/localedata/locales/fr_LU > index d9eb43e..5441bb7 100644 > --- a/localedata/locales/fr_LU > +++ b/localedata/locales/fr_LU > @@ -68,7 +68,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -84,7 +84,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/ht_HT b/localedata/locales/ht_HT > index 0e0a79d..6dd2890 100644 > --- a/localedata/locales/ht_HT > +++ b/localedata/locales/ht_HT > @@ -118,7 +118,7 @@ END LC_TIME > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3 > END LC_NUMERIC > > @@ -126,7 +126,7 @@ LC_MONETARY > int_curr_symbol "HTG " > currency_symbol "g" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/kk_KZ b/localedata/locales/kk_KZ > index c29c84b..c29f5c2 100644 > --- a/localedata/locales/kk_KZ > +++ b/localedata/locales/kk_KZ > @@ -113,7 +113,7 @@ LC_MONETARY > int_curr_symbol "KZT " > currency_symbol "<U20B8>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -135,7 +135,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/ky_KG b/localedata/locales/ky_KG > index 871b8a8..5c146fb 100644 > --- a/localedata/locales/ky_KG > +++ b/localedata/locales/ky_KG > @@ -97,7 +97,7 @@ LC_MONETARY > int_curr_symbol "KGS " > currency_symbol "<U0441><U043E><U043C>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -113,7 +113,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/lv_LV b/localedata/locales/lv_LV > index a20cbdd..20ebe6c 100644 > --- a/localedata/locales/lv_LV > +++ b/localedata/locales/lv_LV > @@ -132,7 +132,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -148,7 +148,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/mfe_MU b/localedata/locales/mfe_MU > index 7415e92..1ff9aaf 100644 > --- a/localedata/locales/mfe_MU > +++ b/localedata/locales/mfe_MU > @@ -118,7 +118,7 @@ LC_MONETARY > int_curr_symbol "MUR " > currency_symbol "<U20A8>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -137,7 +137,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "." > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3 > END LC_NUMERIC > > diff --git a/localedata/locales/mg_MG b/localedata/locales/mg_MG > index 266ff17..46e80d7 100644 > --- a/localedata/locales/mg_MG > +++ b/localedata/locales/mg_MG > @@ -74,7 +74,7 @@ LC_MONETARY > int_curr_symbol "MGA " > currency_symbol "Ar" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/mhr_RU b/localedata/locales/mhr_RU > index 85ac21b..03eeb84 100644 > --- a/localedata/locales/mhr_RU > +++ b/localedata/locales/mhr_RU > @@ -70,7 +70,7 @@ LC_MONETARY > int_curr_symbol "RUB " > currency_symbol "<U20BD>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/mk_MK b/localedata/locales/mk_MK > index 87bae1d..3b8dd76 100644 > --- a/localedata/locales/mk_MK > +++ b/localedata/locales/mk_MK > @@ -95,7 +95,7 @@ LC_MONETARY > int_curr_symbol "MKD " > currency_symbol "<U0434><U0435><U043D>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -111,7 +111,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/mn_MN b/localedata/locales/mn_MN > index fbcf04f..0a2ce6f 100644 > --- a/localedata/locales/mn_MN > +++ b/localedata/locales/mn_MN > @@ -137,7 +137,7 @@ LC_MONETARY > int_curr_symbol "MNT " > currency_symbol "<U20AE>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/nb_NO b/localedata/locales/nb_NO > index a8675b6..efc0ec8 100644 > --- a/localedata/locales/nb_NO > +++ b/localedata/locales/nb_NO > @@ -173,7 +173,7 @@ LC_MONETARY > int_curr_symbol "NOK " > currency_symbol "kr" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -189,7 +189,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/nl_AW b/localedata/locales/nl_AW > index 57e8e69..e131975 100644 > --- a/localedata/locales/nl_AW > +++ b/localedata/locales/nl_AW > @@ -50,7 +50,7 @@ LC_MONETARY > int_curr_symbol "AWG " > currency_symbol "Afl." > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/nl_NL b/localedata/locales/nl_NL > index 1ab3277..c30b170 100644 > --- a/localedata/locales/nl_NL > +++ b/localedata/locales/nl_NL > @@ -74,7 +74,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/nn_NO b/localedata/locales/nn_NO > index c8da4ce..97efcb9 100644 > --- a/localedata/locales/nn_NO > +++ b/localedata/locales/nn_NO > @@ -56,7 +56,7 @@ LC_MONETARY > int_curr_symbol "NOK " > currency_symbol "kr" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/pap_AW b/localedata/locales/pap_AW > index 7c4aebc..49645fa 100644 > --- a/localedata/locales/pap_AW > +++ b/localedata/locales/pap_AW > @@ -77,7 +77,7 @@ LC_MONETARY > int_curr_symbol "AWG " > currency_symbol "<U0192>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/pap_CW b/localedata/locales/pap_CW > index 725ff59..92ad271 100644 > --- a/localedata/locales/pap_CW > +++ b/localedata/locales/pap_CW > @@ -77,7 +77,7 @@ LC_MONETARY > int_curr_symbol "ANG " > currency_symbol "<U0192>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/pl_PL b/localedata/locales/pl_PL > index 4c1b2a8..e6ec0c4 100644 > --- a/localedata/locales/pl_PL > +++ b/localedata/locales/pl_PL > @@ -144,7 +144,7 @@ LC_MONETARY > int_curr_symbol "PLN " > currency_symbol "z<U0142>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3 > positive_sign "" > negative_sign "-" > @@ -160,7 +160,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3 > END LC_NUMERIC > > diff --git a/localedata/locales/ru_RU b/localedata/locales/ru_RU > index fdb2059..4444a74 100644 > --- a/localedata/locales/ru_RU > +++ b/localedata/locales/ru_RU > @@ -83,7 +83,7 @@ LC_MONETARY > int_curr_symbol "RUB " > currency_symbol "<U20BD>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -99,7 +99,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/ru_UA b/localedata/locales/ru_UA > index 381370c..0222bbd 100644 > --- a/localedata/locales/ru_UA > +++ b/localedata/locales/ru_UA > @@ -62,7 +62,7 @@ LC_MONETARY > int_curr_symbol "UAH " > currency_symbol "<U20B4>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/sk_SK b/localedata/locales/sk_SK > index 94e6e12..f3e0775 100644 > --- a/localedata/locales/sk_SK > +++ b/localedata/locales/sk_SK > @@ -91,7 +91,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -112,7 +112,7 @@ END LC_MONETARY > LC_NUMERIC > > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > > END LC_NUMERIC > diff --git a/localedata/locales/sl_SI b/localedata/locales/sl_SI > index 6157b26..545e059 100644 > --- a/localedata/locales/sl_SI > +++ b/localedata/locales/sl_SI > @@ -2134,7 +2134,7 @@ LC_MONETARY > int_curr_symbol "EUR " > currency_symbol "<U20AC>" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -2150,7 +2150,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 0;0 > END LC_NUMERIC > > diff --git a/localedata/locales/sq_MK b/localedata/locales/sq_MK > index c2325f3..ad34895 100644 > --- a/localedata/locales/sq_MK > +++ b/localedata/locales/sq_MK > @@ -54,7 +54,7 @@ LC_MONETARY > int_curr_symbol "MKD " > currency_symbol "den" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/sv_SE b/localedata/locales/sv_SE > index aa28c23..8f37fd7 100644 > --- a/localedata/locales/sv_SE > +++ b/localedata/locales/sv_SE > @@ -180,7 +180,7 @@ LC_MONETARY > int_curr_symbol "SEK " > currency_symbol "kr" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > @@ -196,7 +196,7 @@ END LC_MONETARY > > LC_NUMERIC > decimal_point "," > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 3;3 > END LC_NUMERIC > > diff --git a/localedata/locales/tg_TJ b/localedata/locales/tg_TJ > index 35dfca4..9dc2231 100644 > --- a/localedata/locales/tg_TJ > +++ b/localedata/locales/tg_TJ > @@ -132,7 +132,7 @@ LC_MONETARY > int_curr_symbol "TJS " > currency_symbol "<U0440><U0443><U0431>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/tt_RU b/localedata/locales/tt_RU > index b3b79b2..84d2796 100644 > --- a/localedata/locales/tt_RU > +++ b/localedata/locales/tt_RU > @@ -173,7 +173,7 @@ LC_MONETARY > int_curr_symbol "RUB " > currency_symbol "<U20BD>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/tt_RU@iqtelif b/localedata/locales/tt_RU@iqtelif > index d4737c8..cfd0b80 100644 > --- a/localedata/locales/tt_RU@iqtelif > +++ b/localedata/locales/tt_RU@iqtelif > @@ -76,7 +76,7 @@ LC_MONETARY > int_curr_symbol "RUB " > currency_symbol "<U20BD>" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/uk_UA b/localedata/locales/uk_UA > index b8818bf..ab18b45 100644 > --- a/localedata/locales/uk_UA > +++ b/localedata/locales/uk_UA > @@ -611,7 +611,7 @@ mon_decimal_point "," > % This string is used as a thousands separator when formatting monetary > % quantities. > % see LC_NUMERIC:thousands separator > -mon_thousands_sep "<U202F>" % <NNBSP> (0X202F) > +mon_thousands_sep "<U00A0>" % <NBSP> (0X00A0) > > % Define the size of each group of digits in formatted monetary > % quantities. The operand is a sequence of integers separated by > @@ -741,7 +741,7 @@ decimal_point "," % see LC_MONETARY:mon_decimal_pint > % The string that will be used as a group separator when formatting > % numeric quantities. > % see LC_MONETARY:mon_thousands_sep > -thousands_sep "<U202F>" % <NNBSP> (0X202F) > +thousands_sep "<U00A0>" % <NBSP> (0X00A0) > > % A string that describes the formatting of numeric quantities. > % > diff --git a/localedata/locales/unm_US b/localedata/locales/unm_US > index 1e62c60..0590360 100644 > --- a/localedata/locales/unm_US > +++ b/localedata/locales/unm_US > @@ -95,7 +95,7 @@ END LC_TIME > > LC_NUMERIC > decimal_point "." > -thousands_sep "<U202F>" > +thousands_sep "<U00A0>" > grouping 2;2;2;3 > END LC_NUMERIC > > @@ -103,7 +103,7 @@ LC_MONETARY > int_curr_symbol "USD " > currency_symbol "$" > mon_decimal_point "." > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3 > positive_sign "" > negative_sign "-" > diff --git a/localedata/locales/wo_SN b/localedata/locales/wo_SN > index 47263d2..4911d85 100644 > --- a/localedata/locales/wo_SN > +++ b/localedata/locales/wo_SN > @@ -74,7 +74,7 @@ LC_MONETARY > int_curr_symbol "XOF " > currency_symbol "CFA" > mon_decimal_point "," > -mon_thousands_sep "<U202F>" > +mon_thousands_sep "<U00A0>" > mon_grouping 3;3 > positive_sign "" > negative_sign "-" > diff --git a/stdlib/tst-strfmon_l.c b/stdlib/tst-strfmon_l.c > index 1994d62..ed7b08e 100644 > --- a/stdlib/tst-strfmon_l.c > +++ b/stdlib/tst-strfmon_l.c > @@ -150,11 +150,11 @@ static const struct locale_pair tests[] = > "tg_TJ.UTF-8", > { > { > - "1\u202f234\u202f567.89 TJS", "1\u202f234\u202f567.89 \u0440\u0443\u0431", > + "1\u00a0234\u00a0567.89 TJS", "1\u00a0234\u00a0567.89 \u0440\u0443\u0431", > "1234567.89 TJS", "1234567.89 \u0440\u0443\u0431" > }, > { > - "-1\u202f234\u202f567.89 TJS", "-1\u202f234\u202f567.89 \u0440\u0443\u0431", > + "-1\u00a0234\u00a0567.89 TJS", "-1\u00a0234\u00a0567.89 \u0440\u0443\u0431", > "-1234567.89 TJS", "-1234567.89 \u0440\u0443\u0431" > } > } > diff --git a/stdlib/tst-strtod4.c b/stdlib/tst-strtod4.c > index aae9835..2d9d54c 100644 > --- a/stdlib/tst-strtod4.c > +++ b/stdlib/tst-strtod4.c > @@ -3,7 +3,7 @@ > #include <stdlib.h> > #include <string.h> > > -#define NNBSP "\xe2\x80\xaf" > +#define NBSP "\xc2\xa0" > > static const struct > { > @@ -12,8 +12,8 @@ static const struct > double expected; > } tests[] = > { > - { "000"NNBSP"000"NNBSP"000", "", 0.0 }, > - { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 } > + { "000"NBSP"000"NBSP"000", "", 0.0 }, > + { "1"NBSP"000"NBSP"000,5x", "x", 1000000.5 } > }; > #define NTESTS (sizeof (tests) / sizeof (tests[0])) > > diff --git a/stdlib/tst-strtod5i.c b/stdlib/tst-strtod5i.c > index ee72dc1..1d3fe1a 100644 > --- a/stdlib/tst-strtod5i.c > +++ b/stdlib/tst-strtod5i.c > @@ -22,7 +22,7 @@ > #include <string.h> > #include <math.h> > > -#define NNBSP "\xe2\x80\xaf" > +#define NBSP "\xc2\xa0" > > static const struct > { > @@ -57,8 +57,8 @@ static const struct > { "-0e-10", 1, -0.0 }, > { "0e-1000000", 1, 0.0 }, > { "-0e-1000000", 1, -0.0 }, > - { "000"NNBSP"000"NNBSP"000", 1, 0.0 }, > - { "-000"NNBSP"000"NNBSP"000", 1, -0.0 } > + { "000"NBSP"000"NBSP"000", 1, 0.0 }, > + { "-000"NBSP"000"NBSP"000", 1, -0.0 } > }; > #define NTESTS (sizeof (tests) / sizeof (tests[0])) > > > Thanks, >
16.08.2018 11:28 Marko Myllynen <myllynen@redhat.com> wrote: > [...] But of course going back and forth on the glibc side is not ideal > if CLDR does the change some time in the future. That's my reason to oppose against this change but my opposition is weak. That means, if other people want to introduce this change I will not oppose anymore. > But currently it is > unclear when, if ever, that might happen, it could be several releases > (years) from now. > > Perhaps do nothing for now, and prior next release try to conclude from > the CLDR ticket whether it then seems warranted to apply this patch or not? I hoped Unicode would reply more quickly. If it does not then your idea looks like a good middle ground. Regards, Rafal
On 08/17/2018 03:01 PM, Rafal Luzynski wrote: > 16.08.2018 11:28 Marko Myllynen <myllynen@redhat.com> wrote: >> [...] But of course going back and forth on the glibc side is not ideal >> if CLDR does the change some time in the future. > > That's my reason to oppose against this change but my opposition is weak. > That means, if other people want to introduce this change I will not > oppose anymore. This is called an objection, the strong form is called a sustained objection. Only sustained objection would block consensus on accepting a patch. So it sounds like you don't have a sustained objection, you're just worried about the changes causing confusion to our users, and I agree that could be a problem, but being out of sync with CLDR is also a problem. Your objection is recorded here. >> But currently it is >> unclear when, if ever, that might happen, it could be several releases >> (years) from now. >> >> Perhaps do nothing for now, and prior next release try to conclude from >> the CLDR ticket whether it then seems warranted to apply this patch or not? > > I hoped Unicode would reply more quickly. If it does not then your idea looks > like a good middle ground. Agreed. Is there any way to get traction on this issue? Ask the FSF to become a voting member for glibc at $18,000USD/year? :-)
21.08.2018 04:18 Carlos O'Donell <carlos@redhat.com> wrote: > On 08/17/2018 03:01 PM, Rafal Luzynski wrote: > > 16.08.2018 11:28 Marko Myllynen <myllynen@redhat.com> wrote: > >> [...] But of course going back and forth on the glibc side is not ideal > >> if CLDR does the change some time in the future. > > > > That's my reason to oppose against this change but my opposition is weak. > > That means, if other people want to introduce this change I will not > > oppose anymore. > > This is called an objection, the strong form is called a sustained objection. > > Only sustained objection would block consensus on accepting a patch. Thank you for explaining. Yes, I have an objection. > So it sounds like you don't have a sustained objection, you're just worried > about the changes causing confusion to our users, More or less, that's true. > and I agree that could be > a problem, but being out of sync with CLDR is also a problem. I did not know it was a problem. We were talking many times about the automatic scripts to feed data from CLDR but we don't have any. Therefore I thought it is good to follow CLDR but not a big problem if we don't follow CLDR for some good reasons. Of course, I don't express any objection against following CLDR. > Your objection > is recorded here. Thank you. [ cut the rest of the message as it does not seem to be directed to me. ] Regards, Rafal
Hi, On 2018-08-22 00:38, Rafal Luzynski wrote: > 21.08.2018 04:18 Carlos O'Donell <carlos@redhat.com> wrote: >> On 08/17/2018 03:01 PM, Rafal Luzynski wrote: >>> 16.08.2018 11:28 Marko Myllynen <myllynen@redhat.com> wrote: >>>> [...] But of course going back and forth on the glibc side is not ideal >>>> if CLDR does the change some time in the future. >>> >>> That's my reason to oppose against this change but my opposition is weak. >>> That means, if other people want to introduce this change I will not >>> oppose anymore. >> >> This is called an objection, the strong form is called a sustained objection. >> >> Only sustained objection would block consensus on accepting a patch. > > Thank you for explaining. Yes, I have an objection. > >> So it sounds like you don't have a sustained objection, you're just worried >> about the changes causing confusion to our users, > > More or less, that's true. > >> and I agree that could be >> a problem, but being out of sync with CLDR is also a problem. > > I did not know it was a problem. We were talking many times about the automatic > scripts to feed data from CLDR but we don't have any. Therefore I thought it > is good to follow CLDR but not a big problem if we don't follow CLDR for some > good reasons. One perhaps related thing I noticed recently was that neither U+00A0 or U+202F are classified as whitespace characters. locales/i18n_ctype has this definition (based on ISO/IEC 30112, see http://www.open-std.org/jtc1/sc35/wg5/docs/30112d10.pdf document page 30): space / <U0009>..<U000D>;<U0020>;<U1680>;<U2000>..<U2006>;<U2008>..<U200A>;/ <U2028>..<U2029>;<U205F>;<U3000> Looking at pages about whitespace characters (https://en.wikipedia.org/wiki/Whitespace_character) and Unicode spaces (http://jkorpela.fi/chars/spaces.html) it seems that a couple of other Unicode space characters are also omitted from that list. Does anyone know is there a particular reason to omit U+00A0 and U+202F and few others from the above classification? Thanks,
On 10/8/18 7:16 AM, Marko Myllynen wrote: > Hi, > > On 2018-08-22 00:38, Rafal Luzynski wrote: >> 21.08.2018 04:18 Carlos O'Donell <carlos@redhat.com> wrote: >>> On 08/17/2018 03:01 PM, Rafal Luzynski wrote: >>>> 16.08.2018 11:28 Marko Myllynen <myllynen@redhat.com> wrote: >>>>> [...] But of course going back and forth on the glibc side is not ideal >>>>> if CLDR does the change some time in the future. >>>> >>>> That's my reason to oppose against this change but my opposition is weak. >>>> That means, if other people want to introduce this change I will not >>>> oppose anymore. >>> >>> This is called an objection, the strong form is called a sustained objection. >>> >>> Only sustained objection would block consensus on accepting a patch. >> >> Thank you for explaining. Yes, I have an objection. >> >>> So it sounds like you don't have a sustained objection, you're just worried >>> about the changes causing confusion to our users, >> >> More or less, that's true. >> >>> and I agree that could be >>> a problem, but being out of sync with CLDR is also a problem. >> >> I did not know it was a problem. We were talking many times about the automatic >> scripts to feed data from CLDR but we don't have any. Therefore I thought it >> is good to follow CLDR but not a big problem if we don't follow CLDR for some >> good reasons. > > One perhaps related thing I noticed recently was that neither U+00A0 or > U+202F are classified as whitespace characters. locales/i18n_ctype has > this definition (based on ISO/IEC 30112, see > http://www.open-std.org/jtc1/sc35/wg5/docs/30112d10.pdf document page 30): > > space / > <U0009>..<U000D>;<U0020>;<U1680>;<U2000>..<U2006>;<U2008>..<U200A>;/ > <U2028>..<U2029>;<U205F>;<U3000> > > Looking at pages about whitespace characters > (https://en.wikipedia.org/wiki/Whitespace_character) and Unicode spaces > (http://jkorpela.fi/chars/spaces.html) it seems that a couple of other > Unicode space characters are also omitted from that list. > > Does anyone know is there a particular reason to omit U+00A0 and U+202F > and few others from the above classification? The i18n_ctype file is autogenerated from the Unicode release data using localedata/unicode-gen/gen_unicode_type.py. The space data is subsequently derived from the API usage for unicodeutils like this: 232 output_charclass(i18n_file, 'space', unicode_utils.is_space) Is there a mistake there?
* Marko Myllynen: > One perhaps related thing I noticed recently was that neither U+00A0 or > U+202F are classified as whitespace characters. locales/i18n_ctype has > this definition (based on ISO/IEC 30112, see > http://www.open-std.org/jtc1/sc35/wg5/docs/30112d10.pdf document page 30): > > space / > <U0009>..<U000D>;<U0020>;<U1680>;<U2000>..<U2006>;<U2008>..<U200A>;/ > <U2028>..<U2029>;<U205F>;<U3000> > > Looking at pages about whitespace characters > (https://en.wikipedia.org/wiki/Whitespace_character) and Unicode spaces > (http://jkorpela.fi/chars/spaces.html) it seems that a couple of other > Unicode space characters are also omitted from that list. > > Does anyone know is there a particular reason to omit U+00A0 and U+202F > and few others from the above classification? I think it is deliberate to get the right behavior from line-breaking algorithms.
On 10/8/18 2:51 PM, Florian Weimer wrote: > * Marko Myllynen: > >> One perhaps related thing I noticed recently was that neither U+00A0 or >> U+202F are classified as whitespace characters. locales/i18n_ctype has >> this definition (based on ISO/IEC 30112, see >> http://www.open-std.org/jtc1/sc35/wg5/docs/30112d10.pdf document page 30): >> >> space / >> <U0009>..<U000D>;<U0020>;<U1680>;<U2000>..<U2006>;<U2008>..<U200A>;/ >> <U2028>..<U2029>;<U205F>;<U3000> >> >> Looking at pages about whitespace characters >> (https://en.wikipedia.org/wiki/Whitespace_character) and Unicode spaces >> (http://jkorpela.fi/chars/spaces.html) it seems that a couple of other >> Unicode space characters are also omitted from that list. >> >> Does anyone know is there a particular reason to omit U+00A0 and U+202F >> and few others from the above classification? > > I think it is deliberate to get the right behavior from line-breaking > algorithms. > I forgot we implement unicode_utils.py... 317 def is_space(code_point): 318 '''Checks whether the character with this code point is a space''' 319 # Don’t make U+00A0 a space. Non-breaking space means that all programs 320 # should treat it like a punctuation character, not like a space. 321 return (code_point == 0x0020 # ' ' 322 or code_point == 0x000C # '\f' 323 or code_point == 0x000A # '\n' 324 or code_point == 0x000D # '\r' 325 or code_point == 0x0009 # '\t' 326 or code_point == 0x000B # '\v' 327 # Categories Zl, Zp, and Zs without mention of "<noBreak>" 328 or (UNICODE_ATTRIBUTES[code_point]['name'] 329 and 330 (UNICODE_ATTRIBUTES[code_point]['category'] in ['Zl', 'Zp'] 331 or 332 (UNICODE_ATTRIBUTES[code_point]['category'] in ['Zs'] 333 and 334 '<noBreak>' not in 335 UNICODE_ATTRIBUTES[code_point]['decomposition'])))) And the properties support this: DerivedCoreProperties.txt:00A0 ; Grapheme_Base # Zs NO-BREAK SPACE EastAsianWidth.txt:00A0;N # Zs NO-BREAK SPACE PropList.txt:00A0 ; White_Space # Zs NO-BREAK SPACE UnicodeData.txt:00A0;NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;NON-BREAKING SPACE;;;; UnicodeData.txt:100A0;LINEAR B IDEOGRAM B151 HORN;Lo;0;L;;;;;N;;;;; So it's a <noBreak> space.
Hi, On 2018-10-08 21:55, Carlos O'Donell wrote: > On 10/8/18 2:51 PM, Florian Weimer wrote: >> * Marko Myllynen: >> >>> One perhaps related thing I noticed recently was that neither U+00A0 or >>> U+202F are classified as whitespace characters. locales/i18n_ctype has >>> this definition (based on ISO/IEC 30112, see >>> http://www.open-std.org/jtc1/sc35/wg5/docs/30112d10.pdf document page 30): >>> >>> space / >>> <U0009>..<U000D>;<U0020>;<U1680>;<U2000>..<U2006>;<U2008>..<U200A>;/ >>> <U2028>..<U2029>;<U205F>;<U3000> >>> >>> Looking at pages about whitespace characters >>> (https://en.wikipedia.org/wiki/Whitespace_character) and Unicode spaces >>> (http://jkorpela.fi/chars/spaces.html) it seems that a couple of other >>> Unicode space characters are also omitted from that list. >>> >>> Does anyone know is there a particular reason to omit U+00A0 and U+202F >>> and few others from the above classification? >> >> I think it is deliberate to get the right behavior from line-breaking >> algorithms. > > I forgot we implement unicode_utils.py... > > 317 def is_space(code_point): > 318 '''Checks whether the character with this code point is a space''' > 319 # Don’t make U+00A0 a space. Non-breaking space means that all programs > 320 # should treat it like a punctuation character, not like a space. > > And the properties support this: > > DerivedCoreProperties.txt:00A0 ; Grapheme_Base # Zs NO-BREAK SPACE > EastAsianWidth.txt:00A0;N # Zs NO-BREAK SPACE > PropList.txt:00A0 ; White_Space # Zs NO-BREAK SPACE > UnicodeData.txt:00A0;NO-BREAK SPACE;Zs;0;CS;<noBreak> 0020;;;;N;NON-BREAKING SPACE;;;; > UnicodeData.txt:100A0;LINEAR B IDEOGRAM B151 HORN;Lo;0;L;;;;;N;;;;; Thanks, so the above conforms to ISO/IEC 30112 and is deliberately omitting no-break spaces, at least for line-breaking algorithms. I wonder would it make sense to consider an addition to provide a function that would recognize non-breaking spaces, to allow applications to detect something like "123 456" as a single number, regardless of the exact variant of no-break space used in between. I'm not sure on what level such an addition should ideally be done (standards, GNU/glibc, a higher-level library, perhaps something else), so I won't start championing such a change further. Thanks,
* Marko Myllynen: > I wonder would it make sense to consider an addition to provide a > function that would recognize non-breaking spaces, to allow applications > to detect something like "123 456" as a single number, regardless of the > exact variant of no-break space used in between. > > I'm not sure on what level such an addition should ideally be done > (standards, GNU/glibc, a higher-level library, perhaps something else), > so I won't start championing such a change further. I think this falls under the general processing of Unicode character processing, and we have only very few of those in glibc, and they are not widely used by applications, so I'm not sure if glibc would be the appropriate place. Sounds more like something for ICU or libunistring to me.
9.10.2018 10:38 Marko Myllynen <myllynen@redhat.com> wrote: > [...] > I wonder would it make sense to consider an addition to provide a > function that would recognize non-breaking spaces, to allow applications > to detect something like "123 456" as a single number, regardless of the > exact variant of no-break space used in between. I think that what we need is to split the "space" class into the subclasses: "breaking space" and "non-breaking space", or maybe rather define just "breaking space" and "non-breaking space": def is_breaking_space(conde_point): ''' def is_non_breaking_space(code_point): ''' def is_space(code_point): return is_breaking_space(code_point) || is_non_breaking_space(code_point) so that application would be able to distinguish whether a space is breaking or non-breaking or whether it is a space in general. > I'm not sure on what level such an addition should ideally be done > (standards, GNU/glibc, a higher-level library, perhaps something else), > so I won't start championing such a change further. Same here. Regards, Rafal
Hi, On 21/08/2018 05.18, Carlos O'Donell wrote: > On 08/17/2018 03:01 PM, Rafal Luzynski wrote: >> 16.08.2018 11:28 Marko Myllynen <myllynen@redhat.com> wrote: >>> >>> But currently it is >>> unclear when, if ever, that might happen, it could be several releases >>> (years) from now. >>> >>> Perhaps do nothing for now, and prior next release try to conclude from >>> the CLDR ticket whether it then seems warranted to apply this patch or not? >> >> I hoped Unicode would reply more quickly. If it does not then your idea looks >> like a good middle ground. > > Agreed. It looks like this approach paid off, there's been a recent update on the CLDR ticket that gives an impression that it might be best to keep using NNBSP in glibc as CLDR is perhaps a little closer adapting NNBSP as well: https://unicode.org/cldr/trac/ticket/11217 So I think we should not apply this patch for 2.29. We should still recheck the CLDR status around this at some later point for a possible final decision and in case it would be (perhaps slightly unanticipated) to stick with NBSP then we'd need to reconsider this for glibc as well. Thanks,
17.12.2018 10:40 Marko Myllynen <myllynen@redhat.com> wrote: > [...] there's been a recent update on > the CLDR ticket that gives an impression that it might be best to keep > using NNBSP in glibc as CLDR is perhaps a little closer adapting NNBSP > as well: > > https://unicode.org/cldr/trac/ticket/11217 Thanks for reminding, I was looking at this recently as well. > So I think we should not apply this patch for 2.29. We should still > recheck the CLDR status around this at some later point for a possible > final decision and in case it would be (perhaps slightly unanticipated) > to stick with NBSP then we'd need to reconsider this for glibc as well. It looks to me they are going to accept NNBSP but definitely, if they say that they want to stick with NBSP or they decide to stop working on the issue then we will have to switch to NBSP. Regards, Rafal
* Rafal Luzynski: > It looks to me they are going to accept NNBSP but definitely, if they > say that they want to stick with NBSP or they decide to stop working > on the issue then we will have to switch to NBSP. To me it would suggest that we should re-evaluate CLDR as a data source. Thanks, Florian
Hi Florian, On 18/12/2018 11.13, Florian Weimer wrote: > * Rafal Luzynski: > >> It looks to me they are going to accept NNBSP but definitely, if they >> say that they want to stick with NBSP or they decide to stop working >> on the issue then we will have to switch to NBSP. > > To me it would suggest that we should re-evaluate CLDR as a data source. Care to elaborate a bit? Do you mean that should CLDR decide using NBSP then glibc should reconsider using CLDR as a data source in this particular case or in general? Wouldn't it be beneficial to follow CLDR regardless of their choice of NBSP or NNBSP? Thanks,
* Marko Myllynen: > Hi Florian, > > On 18/12/2018 11.13, Florian Weimer wrote: >> * Rafal Luzynski: >> >>> It looks to me they are going to accept NNBSP but definitely, if they >>> say that they want to stick with NBSP or they decide to stop working >>> on the issue then we will have to switch to NBSP. >> >> To me it would suggest that we should re-evaluate CLDR as a data source. > > Care to elaborate a bit? Do you mean that should CLDR decide using NBSP > then glibc should reconsider using CLDR as a data source in this > particular case or in general? Wouldn't it be beneficial to follow CLDR > regardless of their choice of NBSP or NNBSP? I don't see a value in following CLDR itself, particularly if they do not agree with what users want and what standards say. Thanks, Florian
diff --git a/localedata/locales/aa_DJ b/localedata/locales/aa_DJ index fcb9af8..4c0bdd8 100644 --- a/localedata/locales/aa_DJ +++ b/localedata/locales/aa_DJ @@ -88,7 +88,7 @@ LC_MONETARY int_curr_symbol "DJF " currency_symbol "Fdj" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/az_AZ b/localedata/locales/az_AZ index 6fe8839..450db3f 100644 --- a/localedata/locales/az_AZ +++ b/localedata/locales/az_AZ @@ -158,7 +158,7 @@ LC_MONETARY int_curr_symbol "AZN " currency_symbol "<U20BC>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/be_BY b/localedata/locales/be_BY index 324379b..1314f59 100644 --- a/localedata/locales/be_BY +++ b/localedata/locales/be_BY @@ -105,7 +105,7 @@ LC_MONETARY int_curr_symbol "BYR " currency_symbol "<U0440><U0443><U0431>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/be_BY@latin b/localedata/locales/be_BY@latin index 43b13cc..e5b0fd8 100644 --- a/localedata/locales/be_BY@latin +++ b/localedata/locales/be_BY@latin @@ -126,7 +126,7 @@ LC_MONETARY int_curr_symbol "BYR " currency_symbol "Rub" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/bg_BG b/localedata/locales/bg_BG index 7a9cfa0..cc954fd 100644 --- a/localedata/locales/bg_BG +++ b/localedata/locales/bg_BG @@ -251,7 +251,7 @@ LC_MONETARY int_curr_symbol "BGN " currency_symbol "<U043B><U0432>." mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/bs_BA b/localedata/locales/bs_BA index 3b18056..ca1f54a 100644 --- a/localedata/locales/bs_BA +++ b/localedata/locales/bs_BA @@ -75,7 +75,7 @@ LC_MONETARY int_curr_symbol "BAM " currency_symbol "KM" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/ce_RU b/localedata/locales/ce_RU index 03e60f8..49d0123 100644 --- a/localedata/locales/ce_RU +++ b/localedata/locales/ce_RU @@ -106,7 +106,7 @@ LC_MONETARY int_curr_symbol "RUB " currency_symbol "<U20BD>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/crh_UA b/localedata/locales/crh_UA index b2ac8c6..ca94e8c 100644 --- a/localedata/locales/crh_UA +++ b/localedata/locales/crh_UA @@ -116,7 +116,7 @@ LC_MONETARY int_curr_symbol "UAH " currency_symbol "<U20B4>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ index 41fbd2b..2db44e2 100644 --- a/localedata/locales/cs_CZ +++ b/localedata/locales/cs_CZ @@ -237,7 +237,7 @@ LC_MONETARY int_curr_symbol "CZK " currency_symbol "K<U010D>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -258,7 +258,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/cv_RU b/localedata/locales/cv_RU index e9247b3..57d5646 100644 --- a/localedata/locales/cv_RU +++ b/localedata/locales/cv_RU @@ -118,7 +118,7 @@ int_curr_symbol "RUB " currency_symbol "<U20BD>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/de_AT b/localedata/locales/de_AT index b8cbbe1..1e411d6 100644 --- a/localedata/locales/de_AT +++ b/localedata/locales/de_AT @@ -65,7 +65,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/eo b/localedata/locales/eo index 33a8103..37296a1 100644 --- a/localedata/locales/eo +++ b/localedata/locales/eo @@ -119,7 +119,7 @@ LC_MONETARY int_curr_symbol "XDR " currency_symbol "<U00A4>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/es_CR b/localedata/locales/es_CR index f76a096..617d8d8 100644 --- a/localedata/locales/es_CR +++ b/localedata/locales/es_CR @@ -59,7 +59,7 @@ int_curr_symbol "CRC " currency_symbol "<U20A1>" % Decreto Ejecutivo 29660 mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -76,7 +76,7 @@ END LC_MONETARY LC_NUMERIC % Decreto Ejecutivo 29660 decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/es_MX b/localedata/locales/es_MX index 75cc000..6fad202 100644 --- a/localedata/locales/es_MX +++ b/localedata/locales/es_MX @@ -82,7 +82,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "." -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/et_EE b/localedata/locales/et_EE index f5c4714..06f0e4c 100644 --- a/localedata/locales/et_EE +++ b/localedata/locales/et_EE @@ -120,7 +120,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -136,7 +136,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/fi_FI b/localedata/locales/fi_FI index eeb2783..87fa9c1 100644 --- a/localedata/locales/fi_FI +++ b/localedata/locales/fi_FI @@ -184,7 +184,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -200,7 +200,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/fr_CA b/localedata/locales/fr_CA index e37d042..9892db5 100644 --- a/localedata/locales/fr_CA +++ b/localedata/locales/fr_CA @@ -67,7 +67,7 @@ LC_MONETARY int_curr_symbol "CAD " currency_symbol "$" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/fr_FR b/localedata/locales/fr_FR index a18c514..8e0c802 100644 --- a/localedata/locales/fr_FR +++ b/localedata/locales/fr_FR @@ -78,7 +78,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3 positive_sign "" negative_sign "-" @@ -94,7 +94,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3 END LC_NUMERIC diff --git a/localedata/locales/fr_LU b/localedata/locales/fr_LU index d9eb43e..5441bb7 100644 --- a/localedata/locales/fr_LU +++ b/localedata/locales/fr_LU @@ -68,7 +68,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -84,7 +84,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/ht_HT b/localedata/locales/ht_HT index 0e0a79d..6dd2890 100644 --- a/localedata/locales/ht_HT +++ b/localedata/locales/ht_HT @@ -118,7 +118,7 @@ END LC_TIME LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3 END LC_NUMERIC @@ -126,7 +126,7 @@ LC_MONETARY int_curr_symbol "HTG " currency_symbol "g" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/kk_KZ b/localedata/locales/kk_KZ index c29c84b..c29f5c2 100644 --- a/localedata/locales/kk_KZ +++ b/localedata/locales/kk_KZ @@ -113,7 +113,7 @@ LC_MONETARY int_curr_symbol "KZT " currency_symbol "<U20B8>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -135,7 +135,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/ky_KG b/localedata/locales/ky_KG index 871b8a8..5c146fb 100644 --- a/localedata/locales/ky_KG +++ b/localedata/locales/ky_KG @@ -97,7 +97,7 @@ LC_MONETARY int_curr_symbol "KGS " currency_symbol "<U0441><U043E><U043C>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -113,7 +113,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/lv_LV b/localedata/locales/lv_LV index a20cbdd..20ebe6c 100644 --- a/localedata/locales/lv_LV +++ b/localedata/locales/lv_LV @@ -132,7 +132,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -148,7 +148,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/mfe_MU b/localedata/locales/mfe_MU index 7415e92..1ff9aaf 100644 --- a/localedata/locales/mfe_MU +++ b/localedata/locales/mfe_MU @@ -118,7 +118,7 @@ LC_MONETARY int_curr_symbol "MUR " currency_symbol "<U20A8>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -137,7 +137,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "." -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3 END LC_NUMERIC diff --git a/localedata/locales/mg_MG b/localedata/locales/mg_MG index 266ff17..46e80d7 100644 --- a/localedata/locales/mg_MG +++ b/localedata/locales/mg_MG @@ -74,7 +74,7 @@ LC_MONETARY int_curr_symbol "MGA " currency_symbol "Ar" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/mhr_RU b/localedata/locales/mhr_RU index 85ac21b..03eeb84 100644 --- a/localedata/locales/mhr_RU +++ b/localedata/locales/mhr_RU @@ -70,7 +70,7 @@ LC_MONETARY int_curr_symbol "RUB " currency_symbol "<U20BD>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/mk_MK b/localedata/locales/mk_MK index 87bae1d..3b8dd76 100644 --- a/localedata/locales/mk_MK +++ b/localedata/locales/mk_MK @@ -95,7 +95,7 @@ LC_MONETARY int_curr_symbol "MKD " currency_symbol "<U0434><U0435><U043D>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -111,7 +111,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/mn_MN b/localedata/locales/mn_MN index fbcf04f..0a2ce6f 100644 --- a/localedata/locales/mn_MN +++ b/localedata/locales/mn_MN @@ -137,7 +137,7 @@ LC_MONETARY int_curr_symbol "MNT " currency_symbol "<U20AE>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/nb_NO b/localedata/locales/nb_NO index a8675b6..efc0ec8 100644 --- a/localedata/locales/nb_NO +++ b/localedata/locales/nb_NO @@ -173,7 +173,7 @@ LC_MONETARY int_curr_symbol "NOK " currency_symbol "kr" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -189,7 +189,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/nl_AW b/localedata/locales/nl_AW index 57e8e69..e131975 100644 --- a/localedata/locales/nl_AW +++ b/localedata/locales/nl_AW @@ -50,7 +50,7 @@ LC_MONETARY int_curr_symbol "AWG " currency_symbol "Afl." mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/nl_NL b/localedata/locales/nl_NL index 1ab3277..c30b170 100644 --- a/localedata/locales/nl_NL +++ b/localedata/locales/nl_NL @@ -74,7 +74,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/nn_NO b/localedata/locales/nn_NO index c8da4ce..97efcb9 100644 --- a/localedata/locales/nn_NO +++ b/localedata/locales/nn_NO @@ -56,7 +56,7 @@ LC_MONETARY int_curr_symbol "NOK " currency_symbol "kr" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/pap_AW b/localedata/locales/pap_AW index 7c4aebc..49645fa 100644 --- a/localedata/locales/pap_AW +++ b/localedata/locales/pap_AW @@ -77,7 +77,7 @@ LC_MONETARY int_curr_symbol "AWG " currency_symbol "<U0192>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/pap_CW b/localedata/locales/pap_CW index 725ff59..92ad271 100644 --- a/localedata/locales/pap_CW +++ b/localedata/locales/pap_CW @@ -77,7 +77,7 @@ LC_MONETARY int_curr_symbol "ANG " currency_symbol "<U0192>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/pl_PL b/localedata/locales/pl_PL index 4c1b2a8..e6ec0c4 100644 --- a/localedata/locales/pl_PL +++ b/localedata/locales/pl_PL @@ -144,7 +144,7 @@ LC_MONETARY int_curr_symbol "PLN " currency_symbol "z<U0142>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3 positive_sign "" negative_sign "-" @@ -160,7 +160,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3 END LC_NUMERIC diff --git a/localedata/locales/ru_RU b/localedata/locales/ru_RU index fdb2059..4444a74 100644 --- a/localedata/locales/ru_RU +++ b/localedata/locales/ru_RU @@ -83,7 +83,7 @@ LC_MONETARY int_curr_symbol "RUB " currency_symbol "<U20BD>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -99,7 +99,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/ru_UA b/localedata/locales/ru_UA index 381370c..0222bbd 100644 --- a/localedata/locales/ru_UA +++ b/localedata/locales/ru_UA @@ -62,7 +62,7 @@ LC_MONETARY int_curr_symbol "UAH " currency_symbol "<U20B4>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/sk_SK b/localedata/locales/sk_SK index 94e6e12..f3e0775 100644 --- a/localedata/locales/sk_SK +++ b/localedata/locales/sk_SK @@ -91,7 +91,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -112,7 +112,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/sl_SI b/localedata/locales/sl_SI index 6157b26..545e059 100644 --- a/localedata/locales/sl_SI +++ b/localedata/locales/sl_SI @@ -2134,7 +2134,7 @@ LC_MONETARY int_curr_symbol "EUR " currency_symbol "<U20AC>" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -2150,7 +2150,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 0;0 END LC_NUMERIC diff --git a/localedata/locales/sq_MK b/localedata/locales/sq_MK index c2325f3..ad34895 100644 --- a/localedata/locales/sq_MK +++ b/localedata/locales/sq_MK @@ -54,7 +54,7 @@ LC_MONETARY int_curr_symbol "MKD " currency_symbol "den" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/sv_SE b/localedata/locales/sv_SE index aa28c23..8f37fd7 100644 --- a/localedata/locales/sv_SE +++ b/localedata/locales/sv_SE @@ -180,7 +180,7 @@ LC_MONETARY int_curr_symbol "SEK " currency_symbol "kr" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" @@ -196,7 +196,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "," -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 3;3 END LC_NUMERIC diff --git a/localedata/locales/tg_TJ b/localedata/locales/tg_TJ index 35dfca4..9dc2231 100644 --- a/localedata/locales/tg_TJ +++ b/localedata/locales/tg_TJ @@ -132,7 +132,7 @@ LC_MONETARY int_curr_symbol "TJS " currency_symbol "<U0440><U0443><U0431>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/tt_RU b/localedata/locales/tt_RU index b3b79b2..84d2796 100644 --- a/localedata/locales/tt_RU +++ b/localedata/locales/tt_RU @@ -173,7 +173,7 @@ LC_MONETARY int_curr_symbol "RUB " currency_symbol "<U20BD>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/tt_RU@iqtelif b/localedata/locales/tt_RU@iqtelif index d4737c8..cfd0b80 100644 --- a/localedata/locales/tt_RU@iqtelif +++ b/localedata/locales/tt_RU@iqtelif @@ -76,7 +76,7 @@ LC_MONETARY int_curr_symbol "RUB " currency_symbol "<U20BD>" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/uk_UA b/localedata/locales/uk_UA index b8818bf..ab18b45 100644 --- a/localedata/locales/uk_UA +++ b/localedata/locales/uk_UA @@ -611,7 +611,7 @@ mon_decimal_point "," % This string is used as a thousands separator when formatting monetary % quantities. % see LC_NUMERIC:thousands separator -mon_thousands_sep "<U202F>" % <NNBSP> (0X202F) +mon_thousands_sep "<U00A0>" % <NBSP> (0X00A0) % Define the size of each group of digits in formatted monetary % quantities. The operand is a sequence of integers separated by @@ -741,7 +741,7 @@ decimal_point "," % see LC_MONETARY:mon_decimal_pint % The string that will be used as a group separator when formatting % numeric quantities. % see LC_MONETARY:mon_thousands_sep -thousands_sep "<U202F>" % <NNBSP> (0X202F) +thousands_sep "<U00A0>" % <NBSP> (0X00A0) % A string that describes the formatting of numeric quantities. % diff --git a/localedata/locales/unm_US b/localedata/locales/unm_US index 1e62c60..0590360 100644 --- a/localedata/locales/unm_US +++ b/localedata/locales/unm_US @@ -95,7 +95,7 @@ END LC_TIME LC_NUMERIC decimal_point "." -thousands_sep "<U202F>" +thousands_sep "<U00A0>" grouping 2;2;2;3 END LC_NUMERIC @@ -103,7 +103,7 @@ LC_MONETARY int_curr_symbol "USD " currency_symbol "$" mon_decimal_point "." -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3 positive_sign "" negative_sign "-" diff --git a/localedata/locales/wo_SN b/localedata/locales/wo_SN index 47263d2..4911d85 100644 --- a/localedata/locales/wo_SN +++ b/localedata/locales/wo_SN @@ -74,7 +74,7 @@ LC_MONETARY int_curr_symbol "XOF " currency_symbol "CFA" mon_decimal_point "," -mon_thousands_sep "<U202F>" +mon_thousands_sep "<U00A0>" mon_grouping 3;3 positive_sign "" negative_sign "-" diff --git a/stdlib/tst-strfmon_l.c b/stdlib/tst-strfmon_l.c index 1994d62..ed7b08e 100644 --- a/stdlib/tst-strfmon_l.c +++ b/stdlib/tst-strfmon_l.c @@ -150,11 +150,11 @@ static const struct locale_pair tests[] = "tg_TJ.UTF-8", { { - "1\u202f234\u202f567.89 TJS", "1\u202f234\u202f567.89 \u0440\u0443\u0431", + "1\u00a0234\u00a0567.89 TJS", "1\u00a0234\u00a0567.89 \u0440\u0443\u0431", "1234567.89 TJS", "1234567.89 \u0440\u0443\u0431" }, { - "-1\u202f234\u202f567.89 TJS", "-1\u202f234\u202f567.89 \u0440\u0443\u0431", + "-1\u00a0234\u00a0567.89 TJS", "-1\u00a0234\u00a0567.89 \u0440\u0443\u0431", "-1234567.89 TJS", "-1234567.89 \u0440\u0443\u0431" } } diff --git a/stdlib/tst-strtod4.c b/stdlib/tst-strtod4.c index aae9835..2d9d54c 100644 --- a/stdlib/tst-strtod4.c +++ b/stdlib/tst-strtod4.c @@ -3,7 +3,7 @@ #include <stdlib.h> #include <string.h> -#define NNBSP "\xe2\x80\xaf" +#define NBSP "\xc2\xa0" static const struct { @@ -12,8 +12,8 @@ static const struct double expected; } tests[] = { - { "000"NNBSP"000"NNBSP"000", "", 0.0 }, - { "1"NNBSP"000"NNBSP"000,5x", "x", 1000000.5 } + { "000"NBSP"000"NBSP"000", "", 0.0 }, + { "1"NBSP"000"NBSP"000,5x", "x", 1000000.5 } }; #define NTESTS (sizeof (tests) / sizeof (tests[0])) diff --git a/stdlib/tst-strtod5i.c b/stdlib/tst-strtod5i.c index ee72dc1..1d3fe1a 100644 --- a/stdlib/tst-strtod5i.c +++ b/stdlib/tst-strtod5i.c @@ -22,7 +22,7 @@ #include <string.h> #include <math.h> -#define NNBSP "\xe2\x80\xaf" +#define NBSP "\xc2\xa0" static const struct { @@ -57,8 +57,8 @@ static const struct { "-0e-10", 1, -0.0 }, { "0e-1000000", 1, 0.0 }, { "-0e-1000000", 1, -0.0 }, - { "000"NNBSP"000"NNBSP"000", 1, 0.0 }, - { "-000"NNBSP"000"NNBSP"000", 1, -0.0 } + { "000"NBSP"000"NBSP"000", 1, 0.0 }, + { "-000"NBSP"000"NBSP"000", 1, -0.0 } }; #define NTESTS (sizeof (tests) / sizeof (tests[0]))