aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-10-14 22:56:25 +0000
committerUlrich Drepper <drepper@redhat.com>2005-10-14 22:56:25 +0000
commit7d4722e3fd1c4205bba9fddf7a1de611d5151ebd (patch)
treead47ea3abe962721a12650a82287c317b7d681b6
parentdaa226125cf9570ac726e21fc33d19101123a5c0 (diff)
downloadglibc-7d4722e3fd1c4205bba9fddf7a1de611d5151ebd.tar.xz
glibc-7d4722e3fd1c4205bba9fddf7a1de611d5151ebd.zip
[BZ #368]
* SUPPORTED (SUPPORTED-LOCALES): Add dz_BT.UTF-8. [BZ #368] * locales/dz_BT: New file.
-rw-r--r--include/features.h2
-rw-r--r--locale/localeinfo.h7
-rw-r--r--locale/programs/ld-collate.c12
-rw-r--r--localedata/ChangeLog5
-rw-r--r--localedata/SUPPORTED1
-rw-r--r--localedata/locales/dz_BT1360
-rw-r--r--nptl/TODO4
-rw-r--r--posix/fnmatch_loop.c78
-rw-r--r--posix/regcomp.c37
9 files changed, 1449 insertions, 57 deletions
diff --git a/include/features.h b/include/features.h
index fd4420d74b..e252a0c94c 100644
--- a/include/features.h
+++ b/include/features.h
@@ -265,7 +265,7 @@
#endif
#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \
- && __GNUC_PREREQ (4, 0) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
+ && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
# if _FORTIFY_SOURCE > 1
# define __USE_FORTIFY_LEVEL 2
# else
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
index 065ee18cf9..3b0ed4f30b 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -1,5 +1,5 @@
/* Declarations for internal libc locale interfaces
- Copyright (C) 1995-2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-2001, 2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,7 +31,10 @@
#include <intl/loadinfo.h> /* For loaded_l10nfile definition. */
/* Magic number at the beginning of a locale data file for CATEGORY. */
-#define LIMAGIC(category) ((unsigned int) (0x20031115 ^ (category)))
+#define LIMAGIC(category) \
+ (category == LC_COLLATE \
+ ? ((unsigned int) (0x20051014 ^ (category))) \
+ : ((unsigned int) (0x20031115 ^ (category))))
/* Two special weight constants for the collation data. */
#define IGNORE_CHAR 2
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index 6d0d03c235..00ad2ee488 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
@@ -2469,14 +2469,14 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
runp = collate->start;
while (runp != NULL)
{
- if (runp->mbs != NULL && runp->weights != NULL)
+ if (runp->mbs != NULL && runp->weights != NULL && !runp->is_character)
/* Yep, the element really counts. */
++elem_size;
runp = runp->next;
}
/* Add 40% and find the next prime number. */
- elem_size = MIN (next_prime (elem_size * 1.4), 257);
+ elem_size = next_prime (elem_size * 1.4);
/* Allocate the table. Each entry consists of two words: the hash
value and an index in a secondary table which provides the index
@@ -2496,18 +2496,20 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
uint32_t namelen = strlen (runp->name);
uint32_t hash = elem_hash (runp->name, namelen);
size_t idx = hash % elem_size;
+ size_t start_idx = idx;
if (elem_table[idx * 2] != 0)
{
- /* The spot is already take. Try iterating using the value
+ /* The spot is already taken. Try iterating using the value
from the secondary hashing function. */
- size_t iter = hash % (elem_size - 2);
+ size_t iter = hash % (elem_size - 2) + 1;
do
{
idx += iter;
if (idx >= elem_size)
idx -= elem_size;
+ assert (idx != start_idx);
}
while (elem_table[idx * 2] != 0);
}
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 98380b55d3..6e94c1ef4f 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,5 +1,10 @@
2005-10-14 Ulrich Drepper <drepper@redhat.com>
+ * SUPPORTED (SUPPORTED-LOCALES): Add dz_BT.UTF-8.
+
+ [BZ #368]
+ * locales/dz_BT: New file.
+
[BZ #195]
* locales/hu_HU: Add some transliterations.
diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index d263e91f56..55766b74ea 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -83,6 +83,7 @@ de_DE@euro/ISO-8859-15 \
de_LU.UTF-8/UTF-8 \
de_LU/ISO-8859-1 \
de_LU@euro/ISO-8859-15 \
+dz_BT/UTF-8 \
el_GR.UTF-8/UTF-8 \
el_GR/ISO-8859-7 \
en_AU.UTF-8/UTF-8 \
diff --git a/localedata/locales/dz_BT b/localedata/locales/dz_BT
new file mode 100644
index 0000000000..cbc11d5010
--- /dev/null
+++ b/localedata/locales/dz_BT
@@ -0,0 +1,1360 @@
+comment_char %
+escape_char /
+
+% Bhutanese(Bhutan) locale
+%
+% Name: dz_BT
+% Author: Pema Geyleg
+% Contact: Sherubtse College, Kanglung Bhutan; Pablo Saratxaga
+% E-mail: pema_geyleg@druknet.bt; pablo@mandrakesoft.com
+% Language: Dzongkha(dz)
+% Territory: Bhutan(BT)
+% Charset: UTF-8
+% Revision: 0.3
+% Date: 2004-09-03
+%
+
+LC_IDENTIFICATION
+title "Dzongkha language locale for Bhutan"
+source "Sherubtse College"
+address "Kanglung, Bhutan"
+contact ""
+email "bug-glibc@gnu.org"
+tel ""
+fax ""
+language "Dzongkha"
+territory "Bhutan"
+revision "0.3"
+date "2004-09-03"
+%
+category "dz_BT:2004";LC_IDENTIFICATION
+category "dz_BT:2004";LC_CTYPE
+category "dz_BT:2004";LC_COLLATE
+category "dz_BT:2004";LC_NUMERIC
+category "dz_BT:2004";LC_MONETARY
+category "dz_BT:2004";LC_MESSAGES
+category "dz_BT:2004";LC_PAPER
+category "dz_BT:2004";LC_NAME
+category "dz_BT:2004";LC_ADDRESS
+category "dz_BT:2004";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+%%%%%%%%%%%%%%%%
+% TODO: check LC_MONETARY, LC_NUMERIC, LC_MESSAGES, LC_TIME
+% check time and date formats
+%%%%%%%%%%%%%%%%
+
+LC_CTYPE
+copy "i18n"
+END LC_CTYPE
+
+LC_COLLATE
+copy "iso14651_t1"
+
+script <TIBETAN>
+
+% 30 base letters
+collating-symbol <TIB-KA>
+collating-symbol <TIB-KHA>
+collating-symbol <TIB-GA>
+collating-symbol <TIB-NGA>
+collating-symbol <TIB-CA>
+collating-symbol <TIB-CHA>
+collating-symbol <TIB-JA>
+collating-symbol <TIB-NYA>
+collating-symbol <TIB-TA>
+collating-symbol <TIB-THA>
+collating-symbol <TIB-DA>
+collating-symbol <TIB-NA>
+collating-symbol <TIB-PA>
+collating-symbol <TIB-PHA>
+collating-symbol <TIB-BA>
+collating-symbol <TIB-MA>
+collating-symbol <TIB-TSA>
+collating-symbol <TIB-TSHA>
+collating-symbol <TIB-DZA>
+collating-symbol <TIB-WA>
+collating-symbol <TIB-ZHA>
+collating-symbol <TIB-ZA>
+collating-symbol <TIB--A>
+collating-symbol <TIB-YA>
+collating-symbol <TIB-RA>
+collating-symbol <TIB-LA>
+collating-symbol <TIB-SHA>
+collating-symbol <TIB-SA>
+collating-symbol <TIB-HA>
+collating-symbol <TIB-A>
+
+% 4 explicit vowels
+collating-symbol <TIB-I>
+collating-symbol <TIB-U>
+collating-symbol <TIB-E>
+collating-symbol <TIB-O>
+
+% pre-radicals
+collating-symbol <R_G>
+collating-symbol <R_D>
+collating-symbol <R_B>
+collating-symbol <R_M>
+collating-symbol <R_A>
+collating-symbol <R_R>
+collating-symbol <R_L>
+collating-symbol <R_S>
+collating-symbol <R_BR>
+collating-symbol <R_BL>
+collating-symbol <R_BS>
+
+% nominal, subjoined or variant forms
+collating-symbol <NOM>
+collating-symbol <SUB>
+collating-symbol <VAR>
+
+% ka-radicals
+collating-symbol <TIB-KA-R_D>
+collating-symbol <TIB-KA-R_B>
+collating-symbol <TIB-KA-R_R>
+collating-symbol <TIB-KA-R_L>
+collating-symbol <TIB-KA-R_S>
+collating-symbol <TIB-KA-R_BR>
+collating-symbol <TIB-KA-R_BS>
+collating-element <rad-ka-d> from "<U0F51><U0F40>"
+collating-element <rad-ka-b> from "<U0F56><U0F40>"
+collating-element <rad-ka-r> from "<U0F62><U0F90>"
+collating-element <rad-ka-l> from "<U0F63><U0F90>"
+collating-element <rad-ka-s> from "<U0F66><U0F90>"
+collating-element <rad-ka-b-r> from "<U0F56><U0F62><U0F90>"
+collating-element <rad-ka-b-s> from "<U0F56><U0F66><U0F90>"
+
+% kha-radicals
+collating-symbol <TIB-KHA-R_M>
+collating-symbol <TIB-KHA-R_A>
+collating-element <rad-kha-m> from "<U0F58><U0F41>"
+collating-element <rad-kha-a> from "<U0F60><U0F41>"
+
+% ga-radicals
+% as there are ambiguous, the next letter has to be added too;
+% so the <rad-ga-*> are in fact double elements: the ga-radical
+% itself, and the following letter.
+collating-symbol <TIB-GA-R_D> % ambiguous
+collating-symbol <TIB-GA-R_B> % ambiguous
+collating-symbol <TIB-GA-R_M> % ambiguous
+collating-symbol <TIB-GA-R_A> % ambiguous
+collating-symbol <TIB-GA-R_R>
+collating-symbol <TIB-GA-R_L>
+collating-symbol <TIB-GA-R_S>
+collating-symbol <TIB-GA-R_BR>
+collating-symbol <TIB-GA-R_BS>
+collating-element <rad-ga-d-ga> from "<U0F51><U0F42><U0F42>"
+collating-element <rad-ga-d-nga> from "<U0F51><U0F42><U0F44>"
+collating-element <rad-ga-d-da> from "<U0F51><U0F42><U0F51>"
+collating-element <rad-ga-d-ba> from "<U0F51><U0F42><U0F56>"
+collating-element <rad-ga-d-wa> from "<U0F51><U0F42><U0F5D>"
+collating-element <rad-ga-d--a> from "<U0F51><U0F42><U0F60>"
+collating-element <rad-ga-d-ra> from "<U0F51><U0F42><U0F62>"
+collating-element <rad-ga-d-la> from "<U0F51><U0F42><U0F63>"
+collating-element <rad-ga-d-sa> from "<U0F51><U0F42><U0F66>"
+collating-element <rad-ga-d-u> from "<U0F51><U0F42><U0F74>"
+collating-element <rad-ga-d-e> from "<U0F51><U0F42><U0F7A>"
+collating-element <rad-ga-d-_ya> from "<U0F51><U0F42><U0FB1>"
+collating-element <rad-ga-d-_ra> from "<U0F51><U0F42><U0FB2>"
+collating-element <rad-ga-b-ga> from "<U0F56><U0F42><U0F42>"
+collating-element <rad-ga-b-da> from "<U0F56><U0F42><U0F51>"
+collating-element <rad-ga-b-ma> from "<U0F56><U0F42><U0F58>"
+collating-element <rad-ga-b-ma2> from "<U0F56><U0F42><U0F7E>"
+collating-element <rad-ga-b-wa> from "<U0F56><U0F42><U0F5D>"
+collating-element <rad-ga-b--a> from "<U0F56><U0F42><U0F60>"
+collating-element <rad-ga-b-ra> from "<U0F56><U0F42><U0F62>"
+collating-element <rad-ga-b-e> from "<U0F56><U0F42><U0F7A>"
+collating-element <rad-ga-b-o> from "<U0F56><U0F42><U0F7C>"
+collating-element <rad-ga-b-_ya> from "<U0F56><U0F42><U0FB1>"
+collating-element <rad-ga-b-_ra> from "<U0F56><U0F42><U0FB2>"
+collating-element <rad-ga-b-_la> from "<U0F56><U0F42><U0FB3>"
+collating-element <rad-ga-m-ra> from "<U0F58><U0F42><U0F62>"
+collating-element <rad-ga-m-la> from "<U0F58><U0F42><U0F63>"
+collating-element <rad-ga-m-u> from "<U0F58><U0F42><U0F74>"
+collating-element <rad-ga-m-e> from "<U0F58><U0F42><U0F7A>"
+collating-element <rad-ga-m-o> from "<U0F58><U0F42><U0F7C>"
+collating-element <rad-ga-m-_ya> from "<U0F58><U0F42><U0FB1>"
+collating-element <rad-ga-m-_ra> from "<U0F58><U0F42><U0FB2>"
+collating-element <rad-ga-a-ga> from "<U0F60><U0F42><U0F42>"
+collating-element <rad-ga-a-nga> from "<U0F60><U0F42><U0F44>"
+collating-element <rad-ga-a-da> from "<U0F60><U0F42><U0F51>"
+collating-element <rad-ga-a-na> from "<U0F60><U0F42><U0F53>"
+collating-element <rad-ga-a-ba> from "<U0F60><U0F42><U0F56>"
+collating-element <rad-ga-a-ma> from "<U0F60><U0F42><U0F58>"
+collating-element <rad-ga-a-ma2> from "<U0F60><U0F42><U0F7E>"
+collating-element <rad-ga-a--a> from "<U0F60><U0F42><U0F60>"
+collating-element <rad-ga-a-ra> from "<U0F60><U0F42><U0F62>"
+collating-element <rad-ga-a-la> from "<U0F60><U0F42><U0F63>"
+collating-element <rad-ga-a-sa> from "<U0F60><U0F42><U0F66>"
+collating-element <rad-ga-a-i> from "<U0F60><U0F42><U0F72>"
+collating-element <rad-ga-a-u> from "<U0F60><U0F42><U0F74>"
+collating-element <rad-ga-a-e> from "<U0F60><U0F42><U0F7A>"
+collating-element <rad-ga-a-o> from "<U0F60><U0F42><U0F7C>"
+collating-element <rad-ga-a-_ya> from "<U0F60><U0F42><U0FB1>"
+collating-element <rad-ga-a-_ra> from "<U0F60><U0F42><U0FB2>"
+collating-element <rad-ga-r> from "<U0F62><U0F92>"
+collating-element <rad-ga-l> from "<U0F63><U0F92>"
+collating-element <rad-ga-s> from "<U0F66><U0F92>"
+collating-element <rad-ga-b-r> from "<U0F56><U0F62><U0F92>"
+collating-element <rad-ga-b-s> from "<U0F56><U0F66><U0F92>"
+
+% nga-radicals
+% as there are ambiguous, the next letter has to be added too;
+% so the <rad-nga-*> are in fact double elements: the nga-radical
+% itself, and the following letter.
+collating-symbol <TIB-NGA-R_D> % ambiguous
+collating-symbol <TIB-NGA-R_M> % ambiguous
+collating-symbol <TIB-NGA-R_R>
+collating-symbol <TIB-NGA-R_L>
+collating-symbol <TIB-NGA-R_S>
+collating-symbol <TIB-NGA-R_BR>
+collating-symbol <TIB-NGA-R_BS>
+collating-element <rad-nga-d-ga> from "<U0F51><U0F44><U0F42>"
+collating-element <rad-nga-d-nga> from "<U0F51><U0F44><U0F44>"
+collating-element <rad-nga-d-na> from "<U0F51><U0F44><U0F53>"
+collating-element <rad-nga-d-ra> from "<U0F51><U0F44><U0F62>"
+collating-element <rad-nga-d-u> from "<U0F51><U0F44><U0F74>"
+collating-element <rad-nga-d-o> from "<U0F51><U0F44><U0F7C>"
+collating-element <rad-nga-r> from "<U0F62><U0F44><U0F94>"
+collating-element <rad-nga-l> from "<U0F63><U0F44><U0F94>"
+collating-element <rad-nga-s> from "<U0F66><U0F44><U0F94>"
+collating-element <rad-nga-b-r> from "<U0F56><U0F62><U0F94>"
+collating-element <rad-nga-b-s> from "<U0F56><U0F66><U0F94>"
+
+% ca-radicals
+collating-symbol <TIB-CA-R_G>
+collating-symbol <TIB-CA-R_B>
+collating-symbol <TIB-CA-R_L>
+collating-symbol <TIB-CA-R_BL>
+collating-element <rad-ca-g> from "<U0F42><U0F45>"
+collating-element <rad-ca-b> from "<U0F56><U0F45>"
+collating-element <rad-ca-l> from "<U0F63><U0F95>"
+collating-element <rad-ca-b-l> from "<U0F56><U0F63><U0F95>"
+
+% cha-radicals
+collating-symbol <TIB-CHA-R_M>
+collating-symbol <TIB-CHA-R_A>
+collating-element <rad-cha-m> from "<U0F58><U0F46>"
+collating-element <rad-cha-a> from "<U0F60><U0F46>"
+
+% ja-radicals
+collating-symbol <TIB-JA-R_M>
+collating-symbol <TIB-JA-R_A>
+collating-symbol <TIB-JA-R_R>
+collating-symbol <TIB-JA-R_L>
+collating-symbol <TIB-JA-R_BR>
+collating-element <rad-ja-m> from "<U0F58><U0F47>"
+collating-element <rad-ja-a> from "<U0F60><U0F47>"
+collating-element <rad-ja-r> from "<U0F62><U0F97>"
+collating-element <rad-ja-l> from "<U0F63><U0F97>"
+collating-element <rad-ja-b-r> from "<U0F56><U0F62><U0F97>"
+
+% nya-radicals
+collating-symbol <TIB-NYA-R_G>
+collating-symbol <TIB-NYA-R_M>
+collating-symbol <TIB-NYA-R_R>
+collating-symbol <TIB-NYA-R_S>
+collating-symbol <TIB-NYA-R_BR>
+collating-symbol <TIB-NYA-R_BS>
+collating-element <rad-nya-g> from "<U0F42><U0F49>"
+collating-element <rad-nya-m> from "<U0F58><U0F49>"
+collating-element <rad-nya-r> from "<U0F62><U0F99>"
+collating-element <rad-nya-s> from "<U0F66><U0F99>"
+collating-element <rad-nya-b-r> from "<U0F56><U0F62><U0F99>"
+collating-element <rad-nya-b-s> from "<U0F56><U0F66><U0F99>"
+
+% ta-radicals
+collating-symbol <TIB-TA-R_G>
+collating-symbol <TIB-TA-R_B>
+collating-symbol <TIB-TA-R_R>
+collating-symbol <TIB-TA-R_L>
+collating-symbol <TIB-TA-R_S>
+collating-symbol <TIB-TA-R_BR>
+collating-symbol <TIB-TA-R_BL>
+collating-symbol <TIB-TA-R_BS>
+collating-element <rad-ta-g> from "<U0F42><U0F4F>"
+collating-element <rad-ta-b> from "<U0F56><U0F4F>"
+collating-element <rad-ta-r> from "<U0F62><U0F9F>"
+collating-element <rad-ta-l> from "<U0F63><U0F9F>"
+collating-element <rad-ta-s> from "<U0F66><U0F9F>"
+collating-element <rad-ta-b-r> from "<U0F56><U0F62><U0F9F>"
+collating-element <rad-ta-b-l> from "<U0F56><U0F63><U0F9F>"
+collating-element <rad-ta-b-s> from "<U0F56><U0F66><U0F9F>"
+
+% tha-radicals
+collating-symbol <TIB-THA-R_M>
+collating-symbol <TIB-THA-R_A>
+collating-element <rad-tha-m> from "<U0F58><U0F50>"
+collating-element <rad-tha-a> from "<U0F60><U0F50>"
+
+% da-radicals
+% as there are ambiguous, the next letter has to be added too;
+% so the <rad-da-*> are in fact double elements: the da-radical
+% itself, and the following letter.
+collating-symbol <TIB-DA-R_G> % ambiguous
+collating-symbol <TIB-DA-R_B> % ambiguous
+collating-symbol <TIB-DA-R_M> % ambiguous
+collating-symbol <TIB-DA-R_A> % ambiguous
+collating-symbol <TIB-DA-R_R>
+collating-symbol <TIB-DA-R_L>
+collating-symbol <TIB-DA-R_S>
+collating-symbol <TIB-DA-R_BR>
+collating-symbol <TIB-DA-R_BL>
+collating-symbol <TIB-DA-R_BS>
+collating-element <rad-da-g-ga> from "<U0F42><U0F51><U0F42>"
+collating-element <rad-da-g-nga> from "<U0F42><U0F51><U0F44>"
+collating-element <rad-da-g-na> from "<U0F42><U0F51><U0F53>"
+collating-element <rad-da-g-ba> from "<U0F42><U0F51><U0F56>"
+collating-element <rad-da-g-ma> from "<U0F42><U0F51><U0F58>"
+collating-element <rad-da-g-ma2> from "<U0F42><U0F51><U0F7E>"
+collating-element <rad-da-g--a> from "<U0F42><U0F51><U0F60>"
+collating-element <rad-da-g-ra> from "<U0F42><U0F51><U0F62>"
+collating-element <rad-da-g-la> from "<U0F42><U0F51><U0F63>"
+collating-element <rad-da-g-sa> from "<U0F42><U0F51><U0F66>"
+collating-element <rad-da-g-i> from "<U0F42><U0F51><U0F72>"
+collating-element <rad-da-g-u> from "<U0F42><U0F51><U0F74>"
+collating-element <rad-da-g-e> from "<U0F42><U0F51><U0F7A>"
+collating-element <rad-da-g-o> from "<U0F42><U0F51><U0F7C>"
+collating-element <rad-da-b-ga> from "<U0F56><U0F51><U0F42>"
+collating-element <rad-da-b-ma> from "<U0F56><U0F51><U0F58>"
+collating-element <rad-da-b-ma2> from "<U0F56><U0F51><U0F7E>"
+collating-element <rad-da-b--a> from "<U0F56><U0F51><U0F60>"
+collating-element <rad-da-b-ra> from "<U0F56><U0F51><U0F62>"
+collating-element <rad-da-b-la> from "<U0F56><U0F51><U0F63>"
+collating-element <rad-da-b-sa> from "<U0F56><U0F51><U0F66>"
+collating-element <rad-da-b-u> from "<U0F56><U0F51><U0F74>"
+collating-element <rad-da-b-e> from "<U0F56><U0F51><U0F7A>"
+collating-element <rad-da-b-o> from "<U0F56><U0F51><U0F7C>"
+collating-element <rad-da-m-ga> from "<U0F58><U0F51><U0F42>"
+collating-element <rad-da-m-nga> from "<U0F58><U0F51><U0F44>"
+collating-element <rad-da-m-na> from "<U0F58><U0F51><U0F53>"
+collating-element <rad-da-m--a> from "<U0F58><U0F51><U0F60>"
+collating-element <rad-da-m-ra> from "<U0F58><U0F51><U0F62>"
+collating-element <rad-da-m-u> from "<U0F58><U0F51><U0F74>"
+collating-element <rad-da-m-e> from "<U0F58><U0F51><U0F7A>"
+collating-element <rad-da-m-o> from "<U0F58><U0F51><U0F7C>"
+collating-element <rad-da-a-ga> from "<U0F60><U0F51><U0F42>"
+collating-element <rad-da-a-nga> from "<U0F60><U0F51><U0F44>"
+collating-element <rad-da-a-da> from "<U0F60><U0F51><U0F51>"
+collating-element <rad-da-a-na> from "<U0F60><U0F51><U0F53>"
+collating-element <rad-da-a-ba> from "<U0F60><U0F51><U0F56>"
+collating-element <rad-da-a-ma> from "<U0F60><U0F51><U0F58>"
+collating-element <rad-da-a-ma2> from "<U0F60><U0F51><U0F7E>"
+collating-element <rad-da-a-wa> from "<U0F60><U0F51><U0F5D>"
+collating-element <rad-da-a--a> from "<U0F60><U0F51><U0F60>"
+collating-element <rad-da-a-ra> from "<U0F60><U0F51><U0F62>"
+collating-element <rad-da-a-la> from "<U0F60><U0F51><U0F63>"
+collating-element <rad-da-a-sa> from "<U0F60><U0F51><U0F66>"
+collating-element <rad-da-a-u> from "<U0F60><U0F51><U0F74>"
+collating-element <rad-da-a-e> from "<U0F60><U0F51><U0F7A>"
+collating-element <rad-da-a-o> from "<U0F60><U0F51><U0F7C>"
+collating-element <rad-da-a-_ra> from "<U0F60><U0F51><U0FB2>"
+collating-element <rad-da-r> from "<U0F62><U0FA1>"
+collating-element <rad-da-l> from "<U0F63><U0FA1>"
+collating-element <rad-da-s> from "<U0F66><U0FA1>"
+collating-element <rad-da-b-r> from "<U0F56><U0F62><U0FA1>"
+collating-element <rad-da-b-l> from "<U0F56><U0F63><U0FA1>"
+collating-element <rad-da-b-s> from "<U0F56><U0F66><U0FA1>"
+
+% na-radicals
+% as there are ambiguous, the next letter has to be added too;
+% so the <rad-na-*> are in fact double elements: the na-radical
+% itself, and the following letter.
+collating-symbol <TIB-NA-R_G> % ambiguous
+collating-symbol <TIB-NA-R_M> % ambiguous
+collating-symbol <TIB-NA-R_R>
+collating-symbol <TIB-NA-R_S>
+collating-symbol <TIB-NA-R_BR>
+collating-symbol <TIB-NA-R_BS>
+collating-element <rad-na-g-ga> from "<U0F42><U0F53><U0F42>"
+collating-element <rad-na-g-nga> from "<U0F42><U0F53><U0F44>"
+collating-element <rad-na-g-da> from "<U0F42><U0F53><U0F51>"
+collating-element <rad-na-g-na> from "<U0F42><U0F53><U0F53>"
+collating-element <rad-na-g-ma> from "<U0F42><U0F53><U0F58>"
+collating-element <rad-na-g-ma2> from "<U0F42><U0F53><U0F7E>"
+collating-element <rad-na-g-wa> from "<U0F42><U0F53><U0F5D>"
+collating-element <rad-na-g--a> from "<U0F42><U0F53><U0F60>"
+collating-element <rad-na-g-sa> from "<U0F42><U0F53><U0F66>"
+collating-element <rad-na-g-u> from "<U0F42><U0F53><U0F74>"
+collating-element <rad-na-g-o> from "<U0F42><U0F53><U0F7C>"
+collating-el