From 8da25eec0aaf4d86a06088fff8d175989835e071 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Tue, 28 Nov 2017 16:23:02 +0100 Subject: [PATCH] Collation fix: make forward accent sorting the default [BZ #17750] MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit [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 --- ChangeLog | 17 +++++++++++++++++ localedata/Makefile | 4 ++-- localedata/{fr_FR.UTF-8.in => fr_CA.UTF-8.in} | 18 +++++++++--------- localedata/fr_FR.UTF-8.in | 22 +++++++++++----------- localedata/locales/cs_CZ | 2 -- localedata/locales/de_DE | 2 -- localedata/locales/fr_CA | 2 ++ localedata/locales/hu_HU | 1 - localedata/locales/iso14651_t1_common | 6 +++--- localedata/locales/lb_LU | 2 -- localedata/locales/yuw_PG | 1 - 11 files changed, 44 insertions(+), 33 deletions(-) copy localedata/{fr_FR.UTF-8.in => fr_CA.UTF-8.in} (100%) diff --git a/ChangeLog b/ChangeLog index 29bcf62589..a73e09fb2e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2017-11-28 Mike FABIAN , Alexandre Oliva + + [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 * 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_FR.UTF-8.in b/localedata/fr_CA.UTF-8.in similarity index 100% copy from localedata/fr_FR.UTF-8.in copy to localedata/fr_CA.UTF-8.in index dd5c5330d5..1c05d69f5a 100644 --- a/localedata/fr_FR.UTF-8.in +++ b/localedata/fr_CA.UTF-8.in @@ -22,19 +22,19 @@ casanier cølibat colon côlon -coop -co-op COOP CO-OP +coop +co-op Copenhagen -cote COTE -côte +cote CÔTE -coté +côte COTÉ -côté +coté CÔTÉ +côté du dû élève @@ -63,8 +63,8 @@ Mc Arthur Mc Mahon MODÈLE modelé -Noël NOËL +Noël notre nôtre ode @@ -74,8 +74,8 @@ OÙ ovoïde pèche pêche -péché PÉCHÉ +péché pêché pécher pêcher @@ -92,5 +92,5 @@ vice-president vice-président vice-president's offices vice-presidents' offices -vice versa 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 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 ;forward;backward;forward;forward,position IGNORE;IGNORE;IGNORE; IGNORE;IGNORE;IGNORE; -ifdef DIACRIT_FORWARD -order_start ;forward;forward;forward;forward,position -else +ifdef DIACRIT_BACKWARD order_start ;forward;backward;forward;forward,position +else +order_start ;forward;forward;forward;forward,position endif # ;;;IGNORE # 170 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 -- 2.11.4.GIT