This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[COMMITTED] hr_HR locale: fix collation and expand collation test file


Subject: [COMMITTED] hr_HR locale: fix collation and expand collation test file
To: GNU C Library <libc-alpha@sourceware.org>

    hr_HR locale: fix collation and expand collation test file
    
            * localedata/locales/hr_HR (LC_COLLATE): Fix collation
            to make test case pass.
            * localedata/hr_HR.UTF-8.in: Add more test strings.

-- 
Mike FABIAN <mfabian@redhat.com>
>From 5e56e937c9144e70a16793d2c5aa22d1bd0b2c18 Mon Sep 17 00:00:00 2001
From: Mike FABIAN <mfabian@redhat.com>
Date: Thu, 30 Nov 2017 12:13:02 +0100
Subject: [PATCH 4/5] hr_HR locale: fix collation and expand collation test
 file

	* localedata/locales/hr_HR (LC_COLLATE): Fix collation
	to make test case pass.
	* localedata/hr_HR.UTF-8.in: Add more test strings.
---
 ChangeLog                 |   6 +++
 localedata/hr_HR.UTF-8.in |  27 ++++++++++++
 localedata/locales/hr_HR  | 106 ++++++++++++++++++++--------------------------
 3 files changed, 80 insertions(+), 59 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a3c2c750bb..44f46d2dc6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-11-30  Mike FABIAN  <mfabian@redhat.com>
+
+	* localedata/locales/hr_HR (LC_COLLATE): Fix collation
+	to make test case pass.
+	* localedata/hr_HR.UTF-8.in: Add more test strings.
+
 2017-11-30  Mike FABIAN  <mfabian@redhat.com>
 
 	* stdlib/tst-strfmon_l.c: Fix testcase. Needed because of [BZ #10580]
diff --git a/localedata/hr_HR.UTF-8.in b/localedata/hr_HR.UTF-8.in
index c33ee6a614..72f04bd7f0 100644
--- a/localedata/hr_HR.UTF-8.in
+++ b/localedata/hr_HR.UTF-8.in
@@ -6,7 +6,23 @@ cvrÄ?iÄ?
 Ä?utjeti
 Dalekovidan
 disharmoniÄ?an
+dza
+Ä?Ž
+dž
+Ç?
+dŽ
+Dž
+Ç?
+DŽ
+Ç?
+dža
+džepni
+Ç?epni
+dŽepni
+Džepni
 Ç?epni
+DŽepni
+Ç?epni
 Džersej
 DŽezistiÄ?ki
 džip
@@ -18,14 +34,25 @@ Edicija
 Lakovjeran
 limunÄ?iÄ?
 lJekovito
+ljenivac
+Ç?enivac
+Ljenivac
 Ç?enivac
+LJenivac
+Ç?enivac
 Ljepljiv
 ljeskov
 Ç?etni
 LJutiti
 MaÄ?iÄ?
 natoÄ?iti
+njedra
+Ç?edra
 nJedra
+Njedra
+Ç?edra
+NJedra
+Ç?edra
 NJegovateljica
 Ç?emaÄ?ki
 Ç?ihalo
diff --git a/localedata/locales/hr_HR b/localedata/locales/hr_HR
index 184364288c..a3b3a75387 100644
--- a/localedata/locales/hr_HR
+++ b/localedata/locales/hr_HR
@@ -67,8 +67,16 @@ END LC_CTYPE
 LC_COLLATE
 copy "iso14651_t1"
 
-% define collating elements which should be considered
-% as if they are digraphs while collating
+% CLDR collation rules for Croatian
+% (see: https://unicode.org/cldr/trac/browser/trunk/common/collation/hr.xml):
+%  &C<Ä?<<<Ä?<Ä?<<<Ä?
+%  &D<dž<<<Ç?<<<Dž<<<Ç?<<<DŽ<<<Ç?<Ä?<<<Ä?
+%  &L<lj<<<Ç?<<<Lj<<<Ç?<<<LJ<<<Ç?
+%  &N<nj<<<Ç?<<<Nj<<<Ç?<<<NJ<<<Ç?
+%  &S<Å¡<<<Å 
+%  &Z<ž<<<Ž
+%
+% The following rules implement the same order for glibc:
 
 % Digraphs dŽ, lJ and nJ (1st char lower, 2nd char upper)
 % are clearly errors and you'd be hard pressed to
@@ -91,9 +99,6 @@ collating-element <N-j> from "<U004E><U006A>"
 collating-element <n-J> from "<U006E><U004A>"
 collating-element <n-j> from "<U006E><U006A>"
 
-
-% <U01C6> {}, <U01C9> {} and <U01CC> {}
-% make Ä?, Ä?, Ç?, Ä?, Ç?, Ç?, Å¡ and ž distinct letters
 collating-symbol <ccaron>
 collating-symbol <cacute>
 collating-symbol <d-z-sh>
@@ -103,13 +108,10 @@ collating-symbol <n-j-sh>
 collating-symbol <scaron>
 collating-symbol <zcaron>
 
-% order them as:
-% a b c Ä? Ä? d Ç? Ä? e f g h i j k l Ç? m n Ç? o p r s Å¡ t u v z ž
-
 reorder-after <c>
 <ccaron>
 <cacute>
-<d>
+reorder-after <d>
 <d-z-sh>
 <doblique>
 reorder-after <l>
@@ -121,58 +123,44 @@ reorder-after <s>
 reorder-after <z>
 <zcaron>
 
-% c Ä? Ä?
-reorder-after <U0063>
-<U010D> <ccaron>;<ACA>;<MIN>;IGNORE
-<U0107> <cacute>;<CAR>;<MIN>;IGNORE
-reorder-after <U0043>
-<U010C> <ccaron>;<ACA>;<CAP>;IGNORE
-<U0106> <cacute>;<CAR>;<CAP>;IGNORE
-
-% d, Ç? and Ä?
-% give <d-z> collating elements collating value of Ç?
-reorder-after <U01C6>
-<d-z<> "<d><z>";"<BAS><CAR>";"<MIN><MIN>";IGNORE
-<d-Z<> "<d><z>";"<BAS><CAR>";"<MIN><CAP>";IGNORE
-<U0111> <doblique>;<OBL>;<MIN>;IGNORE
-reorder-after <U01C4>
-<D-Z<> "<d><z>";"<BAS><CAR>";"<CAP><CAP>";IGNORE
-reorder-after <U01C5>
-<D-z<> "<d><z>";"<BAS><CAR>";"<CAP><MIN>";IGNORE
-<U0110> <doblique>;<OBL>;<CAP>;IGNORE
-
-% give <l-j> collating elements collating value of Ç?
-reorder-after <U01C9>
-<l-j> "<l><j>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
-<l-J> "<l><j>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
-reorder-after <U01C7>
-<L-J> "<l><j>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
-reorder-after <U01C8>
-<L-j> "<l><j>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
-
-% give <n-j> collating elements collating value of Ç?
-reorder-after <U01CC>
-<n-j> "<n><j>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
-<n-J> "<n><j>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
-reorder-after <U01CA>
-<N-J> "<n><j>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
-reorder-after <U01CB>
-<N-j> "<n><j>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
-
-% s Å¡
-reorder-after <U0073>
-<U0161> <scaron>;<ACA>;<MIN>;IGNORE
-reorder-after <U0053>
-<U0160> <scaron>;<ACA>;<CAP>;IGNORE
-
-% z ž
-reorder-after <U007A>
-<U017E> <zcaron>;<ACA>;<MIN>;IGNORE
-reorder-after <U005A>
-<U017D> <zcaron>;<ACA>;<CAP>;IGNORE
+<U010D> <ccaron>;<ACA>;<MIN>;IGNORE % Ä?
+<U010C> <ccaron>;<ACA>;<CAP>;IGNORE % Ä?
+<U0107> <cacute>;<CAR>;<MIN>;IGNORE % Ä?
+<U0106> <cacute>;<CAR>;<CAP>;IGNORE % Ä?
+
+<d-z<> "<d-z-sh>";"<BAS><CAR>";"<MIN><MIN><BAS>";IGNORE % dž
+<U01C6> "<d-z-sh>";"<BAS><CAR>";"<MIN><MIN><LIG>";IGNORE % Ç?
+<d-Z<> "<d-z-sh>";"<BAS><CAR>";"<MIN><CAP><BAS>";IGNORE % dŽ
+<D-z<> "<d-z-sh>";"<BAS><CAR>";"<CAP><MIN><BAS>";IGNORE % Dž
+<U01C5> "<d-z-sh>";"<BAS><CAR>";"<CAP><MIN><LIG>";IGNORE % Ç?
+<D-Z<> "<d-z-sh>";"<BAS><CAR>";"<CAP><CAP><BAS>";IGNORE % DŽ
+<U01C4> "<d-z-sh>";"<BAS><CAR>";"<CAP><CAP><LIG>";IGNORE % Ç?
+<U0111> <doblique>;<OBL>;<MIN>;IGNORE % Ä?
+<U0110> <doblique>;<OBL>;<CAP>;IGNORE % Ä?
+
+<l-j> "<l-j-sh>";"<BAS><BAS>";"<MIN><MIN><BAS>";IGNORE % lj
+<U01C9> "<l-j-sh>";"<BAS><BAS>";"<MIN><MIN><LIG>";IGNORE % Ç?
+<l-J> "<l-j-sh>";"<BAS><BAS>";"<MIN><CAP><BAS>";IGNORE % lJ
+<L-j> "<l-j-sh>";"<BAS><BAS>";"<CAP><MIN><BAS>";IGNORE % Lj
+<U01C8> "<l-j-sh>";"<BAS><BAS>";"<CAP><MIN><LIG>";IGNORE % Ç?
+<L-J> "<l-j-sh>";"<BAS><BAS>";"<CAP><CAP><BAS>";IGNORE % LJ
+<U01C7> "<l-j-sh>";"<BAS><BAS>";"<CAP><CAP><LIG>";IGNORE % Ç?
+
+<n-j> "<n-j-sh>";"<BAS><BAS>";"<MIN><MIN><BAS>";IGNORE % nj
+<U01CC> "<n-j-sh>";"<BAS><BAS>";"<MIN><MIN><LIG>";IGNORE % Ç?
+<n-J> "<n-j-sh>";"<BAS><BAS>";"<MIN><CAP><BAS>";IGNORE % nJ
+<N-j> "<n-j-sh>";"<BAS><BAS>";"<CAP><MIN><BAS>";IGNORE % Nj
+<U01CB> "<n-j-sh>";"<BAS><BAS>";"<CAP><MIN><LIG>";IGNORE % Ç?
+<N-J> "<n-j-sh>";"<BAS><BAS>";"<CAP><CAP><BAS>";IGNORE % NJ
+<U01CA> "<n-j-sh>";"<BAS><BAS>";"<CAP><CAP><LIG>";IGNORE % Ç?
+
+<U0161> <scaron>;<ACA>;<MIN>;IGNORE % Å¡
+<U0160> <scaron>;<ACA>;<CAP>;IGNORE % Å 
+
+<U017E> <zcaron>;<ACA>;<MIN>;IGNORE % ž
+<U017D> <zcaron>;<ACA>;<CAP>;IGNORE % Ž
 
 reorder-end
-
 END LC_COLLATE
 
 LC_MESSAGES
-- 
2.14.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]