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

Message ID s9d8tendc80.fsf@taka.site
State New
Headers show
Series
  • [COMMITTED] hr_HR locale: fix collation and expand collation test file
Related show

Commit Message

Mike FABIAN Nov. 30, 2017, 3:21 p.m. UTC
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.

Patch
diff mbox series

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
+džepni
+dŽepni
+Džepni
 Džepni
+DŽepni
+DŽepni
 Džersej
 DŽezistički
 džip
@@ -18,14 +34,25 @@  Edicija
 Lakovjeran
 limunčić
 lJekovito
+ljenivac
+ljenivac
+Ljenivac
 Ljenivac
+LJenivac
+LJenivac
 Ljepljiv
 ljeskov
 ljetni
 LJutiti
 Mačić
 natočiti
+njedra
+njedra
 nJedra
+Njedra
+Njedra
+NJedra
+NJedra
 NJegovateljica
 Njemački
 njihalo
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ž<<<Dž<<<DŽ<<<DŽ<đ<<<Đ
+%  &L<lj<<<lj<<<Lj<<<Lj<<<LJ<<<LJ
+%  &N<nj<<<nj<<<Nj<<<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 č, ć, dž, đ, lj, nj, š 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 dž đ e f g h i j k l lj m n nj 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, dž and đ
-% give <d-z> collating elements collating value of dž
-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 lj
-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 nj
-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ž
+<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ž
+<D-Z<> "<d-z-sh>";"<BAS><CAR>";"<CAP><CAP><BAS>";IGNORE % DŽ
+<U01C4> "<d-z-sh>";"<BAS><CAR>";"<CAP><CAP><LIG>";IGNORE % DŽ
+<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 % lj
+<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 % Lj
+<L-J> "<l-j-sh>";"<BAS><BAS>";"<CAP><CAP><BAS>";IGNORE % LJ
+<U01C7> "<l-j-sh>";"<BAS><BAS>";"<CAP><CAP><LIG>";IGNORE % LJ
+
+<n-j> "<n-j-sh>";"<BAS><BAS>";"<MIN><MIN><BAS>";IGNORE % nj
+<U01CC> "<n-j-sh>";"<BAS><BAS>";"<MIN><MIN><LIG>";IGNORE % nj
+<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 % Nj
+<N-J> "<n-j-sh>";"<BAS><BAS>";"<CAP><CAP><BAS>";IGNORE % NJ
+<U01CA> "<n-j-sh>";"<BAS><BAS>";"<CAP><CAP><LIG>";IGNORE % NJ
+
+<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