@@ -41,6 +41,15 @@ Version 2.21
* Merged gettext 0.19.3 into the intl subdirectory. This fixes building
with newer versions of bison.
+
+* Collation (sorting) general rules regarding diacritics have been fixed to
+ match those in Unicode CLDR, namely, whether diacritic tie-breaking takes
+ place in a forward or backward pass over the strings or wstrings. The
+ only locale that sort diacritics with a backward pass is now fr_CA; it
+ already sorted «cote < côte < coté < côté» before. All other locales now
+ use a forward pass, so that they sort «cote < coté < côte < côté», which
+ only de_DE and lb_LU did before.
+
Version 2.20
@@ -37,7 +37,7 @@ test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \
tst-ctype tst-langinfo tst-langinfo-static tst-numeric
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
+ si_LK.UTF-8 fr_CA.UTF-8
test-input-data = $(addsuffix .in, $(basename $(test-input)))
test-output := $(foreach s, .out .xout, \
$(addsuffix $s, $(basename $(test-input))))
@@ -106,7 +106,7 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
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
+ tr_TR.ISO-8859-9 en_GB.UTF-8 fr_CA.UTF-8
LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
CHARMAPS := $(shell echo "$(LOCALES)" | \
sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
new file mode 100644
@@ -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
@@ -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
@@ -76,8 +76,6 @@ END LC_CTYPE
LC_COLLATE
-define DIACRIT_FORWARD
-
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
@@ -51,6 +51,8 @@ copy "fr_FR"
END LC_CTYPE
LC_COLLATE
+define DIACRIT_BACKWARD
+
copy "en_CA"
END LC_COLLATE
@@ -5060,10 +5060,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>
@@ -77,8 +77,6 @@ END LC_CTYPE
LC_COLLATE
-define DIACRIT_FORWARD
-
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"