diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2017-11-28 16:23:02 +0100 |
---|---|---|
committer | Mike FABIAN <mfabian@redhat.com> | 2017-11-29 11:56:46 +0100 |
commit | 8da25eec0aaf4d86a06088fff8d175989835e071 (patch) | |
tree | b1ed2f0f98e9b3c3cbc3e728bb2e99b27d083fd4 | |
parent | a55430cb0e261834ce7a4e118dd9e0f2b7fb14bc (diff) | |
download | glibc-8da25eec0aaf4d86a06088fff8d175989835e071.tar.gz glibc-8da25eec0aaf4d86a06088fff8d175989835e071.tar.xz glibc-8da25eec0aaf4d86a06088fff8d175989835e071.zip |
Collation fix: make forward accent sorting the default [BZ #17750]
[BZ #17750] * Makefile: add fr_CA.UTF-8 to test-input and LOCALES. * localedata/fr_CA.UTF-8.in: New file with test data for backward accents sorting. * localedata/fr_FR.UTF-8.in: Fix test data for forward accents sorting. * localedata/locales/cs_CZ (LC_COLLATE): Remove “define DIACRIT_FORWARD” * localedata/locales/de_DE (LC_COLLATE): Likewise. * localedata/locales/hu_HU (LC_COLLATE): Likewise. * localedata/locales/lb_LU (LC_COLLATE): Likewise. * localedata/locales/yuw_PG (LC_COLLATE): Likewise. * localedata/locales/fr_CA (LC_COLLATE): Add “define DIACRIT_BACKWARD” * localedata/locales/iso14651_t1_common: Use “ifdef DIACRIT_FORWARD” instead of “ifdef DIACRIT_BACKWARD”. The only locale which currently needs backward accents sorting is fr_CA. Therefore, forward accents sorting should be the default. Before this patch, backwards accent sorting was the default and all locales except fr_CA had to use define DIACRIT_FORWARD before copy "iso14651_t1" Most locales didn’t do that and thus got the inappropriate backwards accents sorting by accident. Now only the fr_CA locale needs to use define DIACRIT_BACKWARD before copy "iso14651_t1" Original patch slightly modified by: Mike FABIAN <mfabian@redhat.com>
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | localedata/Makefile | 4 | ||||
-rw-r--r-- | localedata/fr_CA.UTF-8.in | 96 | ||||
-rw-r--r-- | localedata/fr_FR.UTF-8.in | 22 | ||||
-rw-r--r-- | localedata/locales/cs_CZ | 2 | ||||
-rw-r--r-- | localedata/locales/de_DE | 2 | ||||
-rw-r--r-- | localedata/locales/fr_CA | 2 | ||||
-rw-r--r-- | localedata/locales/hu_HU | 1 | ||||
-rw-r--r-- | localedata/locales/iso14651_t1_common | 6 | ||||
-rw-r--r-- | localedata/locales/lb_LU | 2 | ||||
-rw-r--r-- | localedata/locales/yuw_PG | 1 |
11 files changed, 131 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog index 29bcf62589..a73e09fb2e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2017-11-28 Mike FABIAN <mfabian@redhat.com>, Alexandre Oliva <aoliva@redhat.com> + + [BZ #17750] + * Makefile: add fr_CA.UTF-8 to test-input and LOCALES. + * localedata/fr_CA.UTF-8.in: New file with test data for backward + accents sorting. + * localedata/fr_FR.UTF-8.in: Fix test data for forward accents + sorting. + * localedata/locales/cs_CZ (LC_COLLATE): Remove “define DIACRIT_FORWARD” + * localedata/locales/de_DE (LC_COLLATE): Likewise. + * localedata/locales/hu_HU (LC_COLLATE): Likewise. + * localedata/locales/lb_LU (LC_COLLATE): Likewise. + * localedata/locales/yuw_PG (LC_COLLATE): Likewise. + * localedata/locales/fr_CA (LC_COLLATE): Add “define DIACRIT_BACKWARD” + * localedata/locales/iso14651_t1_common: Use “ifdef DIACRIT_FORWARD” + instead of “ifdef DIACRIT_BACKWARD”. + 2017-11-29 Adhemerval Zanella <adhemerval.zanella@linaro.org> * config.h.in (HAVE_AS_VIS3_SUPPORT): Remove check for VIS3 support. diff --git a/localedata/Makefile b/localedata/Makefile index b9f77d6c29..f8ca4041be 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -38,7 +38,7 @@ test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \ test-input := de_DE.ISO-8859-1 en_US.ISO-8859-1 da_DK.ISO-8859-1 \ hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8 \ si_LK.UTF-8 uk_UA.UTF-8 hu_HU.UTF-8 lv_LV.UTF-8 \ - pl_PL.UTF-8 cs_CZ.UTF-8 + pl_PL.UTF-8 cs_CZ.UTF-8 fr_CA.UTF-8 test-input-data = $(addsuffix .in, $(test-input)) test-output := $(foreach s, .out .xout, \ $(addsuffix $s, $(basename $(test-input)))) @@ -108,7 +108,7 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \ nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 tr_TR.UTF-8 cs_CZ.UTF-8 \ zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 si_LK.UTF-8 \ tr_TR.ISO-8859-9 en_GB.UTF-8 uk_UA.UTF-8 hu_HU.UTF-8 lv_LV.UTF-8 \ - pl_PL.UTF-8 + pl_PL.UTF-8 fr_CA.UTF-8 include ../gen-locales.mk endif diff --git a/localedata/fr_CA.UTF-8.in b/localedata/fr_CA.UTF-8.in new file mode 100644 index 0000000000..1c05d69f5a --- /dev/null +++ b/localedata/fr_CA.UTF-8.in @@ -0,0 +1,96 @@ +@@@@@ +0000 +9999 +Aalborg +aide +aïeul +air +@@@air +air@@@ +Ålborg +août +bohème +Bohême +Bohémien +caennais +cæsium +çà et là +C.A.F. +Canon +cañon +casanier +cølibat +colon +côlon +COOP +CO-OP +coop +co-op +Copenhagen +COTE +cote +CÔTE +côte +COTÉ +coté +CÔTÉ +côté +du +dû +élève +élevé +gène +gêne +gêné +Größe +Grossist +haie +haïe +île +Île d'Orléans +lame +l'âme +lamé +les +LÈS +lèse +lésé +L'Haÿ-les-Roses +MÂCON +maçon +McArthur +Mc Arthur +Mc Mahon +MODÈLE +modelé +NOËL +Noël +notre +nôtre +ode +œil +ou +OÙ +ovoïde +pèche +pêche +PÉCHÉ +péché +pêché +pécher +pêcher +pechère +péchère +relève +relevé +resume +resumé +résumé +révèle +révélé +vice-president +vice-président +vice-president's offices +vice-presidents' offices +VICE-VERSA +vice versa diff --git a/localedata/fr_FR.UTF-8.in b/localedata/fr_FR.UTF-8.in index dd5c5330d5..070eb4dc0d 100644 --- a/localedata/fr_FR.UTF-8.in +++ b/localedata/fr_FR.UTF-8.in @@ -29,16 +29,16 @@ CO-OP Copenhagen cote COTE -côte -CÔTE coté COTÉ +côte +CÔTE côté CÔTÉ du dû -élève élevé +élève gène gêne gêné @@ -49,20 +49,20 @@ haïe île Île d'Orléans lame -l'âme lamé +l'âme les LÈS -lèse lésé +lèse L'Haÿ-les-Roses -MÂCON maçon +MÂCON McArthur Mc Arthur Mc Mahon -MODÈLE modelé +MODÈLE Noël NOËL notre @@ -72,22 +72,22 @@ ode ou OÙ ovoïde -pèche -pêche péché PÉCHÉ +pèche +pêche pêché pécher pêcher pechère péchère -relève relevé +relève resume resumé résumé -révèle révélé +révèle vice-president vice-président vice-president's offices diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ index 163a40daec..f80d3e1b37 100644 --- a/localedata/locales/cs_CZ +++ b/localedata/locales/cs_CZ @@ -140,8 +140,6 @@ END LC_IDENTIFICATION LC_COLLATE -define DIACRIT_FORWARD - copy "iso14651_t1" collating-symbol <c-caron> diff --git a/localedata/locales/de_DE b/localedata/locales/de_DE index dd1c1cfa48..eaa9f7ff8e 100644 --- a/localedata/locales/de_DE +++ b/localedata/locales/de_DE @@ -84,8 +84,6 @@ END LC_CTYPE LC_COLLATE -define DIACRIT_FORWARD - % Copy the template from ISO/IEC 14651 copy "iso14651_t1" diff --git a/localedata/locales/fr_CA b/localedata/locales/fr_CA index 15401de337..e37d04226c 100644 --- a/localedata/locales/fr_CA +++ b/localedata/locales/fr_CA @@ -54,6 +54,8 @@ copy "fr_FR" END LC_CTYPE LC_COLLATE +define DIACRIT_BACKWARD + copy "en_CA" END LC_COLLATE diff --git a/localedata/locales/hu_HU b/localedata/locales/hu_HU index b860672748..01e45b958e 100644 --- a/localedata/locales/hu_HU +++ b/localedata/locales/hu_HU @@ -63,7 +63,6 @@ category "i18n:2012";LC_MEASUREMENT END LC_IDENTIFICATION LC_COLLATE -define DIACRIT_FORWARD copy "iso14651_t1" %% a b c cs d dz dzs e f g gy h i j k l ly m n ny o o: p q diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common index 0e64f26a12..eb0fe9ec9d 100644 --- a/localedata/locales/iso14651_t1_common +++ b/localedata/locales/iso14651_t1_common @@ -5079,10 +5079,10 @@ order_start <SPECIAL>;forward;backward;forward;forward,position <U009E> IGNORE;IGNORE;IGNORE;<U009E> <U009F> IGNORE;IGNORE;IGNORE;<U009F> -ifdef DIACRIT_FORWARD -order_start <LATIN>;forward;forward;forward;forward,position -else +ifdef DIACRIT_BACKWARD order_start <LATIN>;forward;backward;forward;forward,position +else +order_start <LATIN>;forward;forward;forward;forward,position endif # <U00A0> <U0020>;<BAS>;<MIN>;IGNORE # 170<NBSP> diff --git a/localedata/locales/lb_LU b/localedata/locales/lb_LU index f8da9447ea..92f1e22e1a 100644 --- a/localedata/locales/lb_LU +++ b/localedata/locales/lb_LU @@ -83,8 +83,6 @@ END LC_CTYPE LC_COLLATE -define DIACRIT_FORWARD - % Copy the template from ISO/IEC 14651 copy "iso14651_t1" diff --git a/localedata/locales/yuw_PG b/localedata/locales/yuw_PG index f9341facdc..0cb3cadf4a 100644 --- a/localedata/locales/yuw_PG +++ b/localedata/locales/yuw_PG @@ -45,7 +45,6 @@ translit_end END LC_CTYPE LC_COLLATE -define DIACRIT_FORWARD copy "iso14651_t1" END LC_COLLATE |