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>
This commit is contained in:
Alexandre Oliva 2017-11-28 16:23:02 +01:00 committed by Mike FABIAN
parent a55430cb0e
commit 8da25eec0a
11 changed files with 131 additions and 24 deletions

View file

@ -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.

View file

@ -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

96
localedata/fr_CA.UTF-8.in Normal file
View file

@ -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
é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
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

View file

@ -29,16 +29,16 @@ CO-OP
Copenhagen
cote
COTE
côte
CÔTE
coté
COTÉ
côte
CÔTE
côté
CÔTÉ
du
é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
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

View file

@ -140,8 +140,6 @@ END LC_IDENTIFICATION
LC_COLLATE
define DIACRIT_FORWARD
copy "iso14651_t1"
collating-symbol <c-caron>

View file

@ -84,8 +84,6 @@ END LC_CTYPE
LC_COLLATE
define DIACRIT_FORWARD
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"

View file

@ -54,6 +54,8 @@ copy "fr_FR"
END LC_CTYPE
LC_COLLATE
define DIACRIT_BACKWARD
copy "en_CA"
END LC_COLLATE

View file

@ -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

View file

@ -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>

View file

@ -83,8 +83,6 @@ END LC_CTYPE
LC_COLLATE
define DIACRIT_FORWARD
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"

View file

@ -45,7 +45,6 @@ translit_end
END LC_CTYPE
LC_COLLATE
define DIACRIT_FORWARD
copy "iso14651_t1"
END LC_COLLATE