about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-10-03 19:32:28 +0000
committerJakub Jelinek <jakub@redhat.com>2007-10-03 19:32:28 +0000
commit75cb5a0d471729d28a59b693441e2d527c9e962e (patch)
treeabac9733c1b6c0a7a9c760b7cfe2d21c672e9e90
parent441097af93882803bbb3296dd1fdbdd4a7773deb (diff)
downloadglibc-75cb5a0d471729d28a59b693441e2d527c9e962e.tar.gz
glibc-75cb5a0d471729d28a59b693441e2d527c9e962e.tar.xz
glibc-75cb5a0d471729d28a59b693441e2d527c9e962e.zip
Updated to fedora-glibc-20071003T1908 cvs/fedora-glibc-2_6_90-17
-rw-r--r--ChangeLog59
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in8
-rw-r--r--iconvdata/Makefile7
-rw-r--r--iconvdata/TESTS1
-rw-r--r--iconvdata/gconv-modules7
-rw-r--r--iconvdata/iso8859-9e.c28
-rwxr-xr-xiconvdata/tst-tables.sh1
-rw-r--r--include/stdio_ext.h17
-rw-r--r--locale/iso-639.def14
-rw-r--r--locale/programs/ld-collate.c24
-rw-r--r--localedata/ChangeLog73
-rw-r--r--localedata/Makefile4
-rw-r--r--localedata/SUPPORTED20
-rw-r--r--localedata/charmaps/ISO-8859-9E263
-rw-r--r--localedata/charmaps/UTF-8445
-rw-r--r--localedata/de_DE.in6
-rw-r--r--localedata/fr_FR.in96
-rw-r--r--localedata/locales/am_ET8
-rw-r--r--localedata/locales/ber_DZ311
-rw-r--r--localedata/locales/ber_MA229
-rw-r--r--localedata/locales/cs_CZ4
-rw-r--r--localedata/locales/da_DK4
-rw-r--r--localedata/locales/en_GB3
-rw-r--r--localedata/locales/et_EE3
-rw-r--r--localedata/locales/fa_IR1
-rw-r--r--localedata/locales/fil_PH184
-rw-r--r--localedata/locales/fr_FR2
-rw-r--r--localedata/locales/fur_IT134
-rw-r--r--localedata/locales/fy_DE131
-rw-r--r--localedata/locales/ha_NG307
-rw-r--r--localedata/locales/ig_NG499
-rw-r--r--localedata/locales/ik_CA230
-rw-r--r--localedata/locales/is_IS3
-rw-r--r--localedata/locales/iso14651_t1_common216
-rw-r--r--localedata/locales/iu_CA139
-rw-r--r--localedata/locales/li_BE130
-rw-r--r--localedata/locales/li_NL131
-rw-r--r--localedata/locales/lo_LA9
-rw-r--r--localedata/locales/lv_LV1
-rw-r--r--localedata/locales/nb_NO4
-rw-r--r--localedata/locales/nds_DE129
-rw-r--r--localedata/locales/nds_NL128
-rw-r--r--localedata/locales/nn_NO3
-rw-r--r--localedata/locales/oc_FR6
-rw-r--r--localedata/locales/pap_AN153
-rw-r--r--localedata/locales/sa_IN254
-rw-r--r--localedata/locales/sc_IT134
-rw-r--r--localedata/locales/sr_CS349
-rw-r--r--localedata/locales/tk_TM448
-rw-r--r--localedata/locales/ug_CN333
-rw-r--r--localedata/locales/yo_NG511
-rw-r--r--malloc/malloc.c4
-rw-r--r--misc/sys/cdefs.h28
-rw-r--r--po/pt_BR.po2
-rw-r--r--string/bits/string3.h130
-rw-r--r--string/strcoll_l.c24
-rw-r--r--wcsmbs/bits/wchar2.h16
58 files changed, 5658 insertions, 754 deletions
diff --git a/ChangeLog b/ChangeLog
index 90fbcf68f4..cb019c5586 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,62 @@
+2007-10-03  Jakub Jelinek
+
+	* string/bits/string3.h (memcpy, memmove, mempcpy, memset, bcopy,
+	bzero, strcpy, stpcpy, strncpy, strcat, strncat): Use
+	__extern_always_inline functions unconditionally, drop macros.
+
+	* misc/sys/cdefs.h (__REDIRECT_LDBL, __REDIRECT_NTH_LDBL): New macros.
+	* wcsmbs/bits/wchar2.h (__swprintf_alias, __vswprintf_alias): Use
+	__REDIRECT_NTH_LDBL macro rather than __REDIRECT_NTH.
+
+	* misc/sys/cdefs.h (__extern_always_inline): For GCC 4.3+
+	add __artificial__ attribute.
+
+2007-10-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* string/strcoll_l.c (STRCOLL): Correct handling of switching from
+	backward to forward direction.
+
+	* string/strcoll_l.c (STRCOLL): Correct test for alloca use.
+
+	[BZ #645]
+	* locale/programs/ld-collate.c (collate_finish): Compare against last
+	used section which is known to have rules defined.
+	(collate_read): After order_start, correctly record order of sections
+	and queue sections up.
+
+2007-10-01  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #5071]
+	* malloc/malloc.c (mremap_chunk): Avoid resizing of new block has
+	the same number of pages.
+	Patch by Tomash Brechko <tomash.brechko@gmail.com>.
+
+	* locale/programs/ld-collate.c (collate_read): After initial copy
+	statement, continue in state 0.
+
+	* include/stdio_ext.h (__fsetlocking): Define as macro.
+
+2007-09-30  Ulrich Drepper  <drepper@redhat.com>
+
+	* locale/programs/ld-collate.c (collate_finish): Compare all bytes
+	of section order.
+
+	* po/pt_BR.po: Fix typo.
+
+2007-09-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* iconvdata/Makefile (modules): Add ISO8859-9E.
+	(distribute): Add iso8859-9e.c.
+	(gen-8bit-gap-modules): Add iso8859-9e.
+	* iconvdata/iso8859-9e.c: New file.
+	* iconvdata/gconv-modules: Add entries for ISO-8859-9E.
+	* iconvdata/TESTS: Likewise.
+	* iconvdata/tst-tables.sh: Likewise.
+
+	* iconvdata/koi8-r.c (HAS_HOLES): Define to 0.
+
+	* locale/iso-639.def: Add several new entries.
+
 2007-09-24  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): Store
diff --git a/fedora/branch.mk b/fedora/branch.mk
index fa022f3404..29da99837f 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-f8
-fedora-sync-date := 2007-09-29 18:59 UTC
-fedora-sync-tag := fedora-glibc-20070929T1859
+fedora-sync-date := 2007-10-03 19:08 UTC
+fedora-sync-tag := fedora-glibc-20071003T1908
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index 77bcca7199..7610eabdc0 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -1,4 +1,4 @@
-%define glibcrelease 16
+%define glibcrelease 17
 %define run_glibc_tests 1
 %define auxarches i586 i686 athlon sparcv9v sparc64v alphaev6
 %define xenarches i686 athlon
@@ -1010,6 +1010,12 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Wed Oct  3 2007 Jakub Jelinek <jakub@redhat.com> 2.6.90-17
+- fix {,v}swprintf with -D_FORTIFY_SOURCE=1 -mlong-double-64 on ppc*/s390*/sparc*
+- strcoll fixes
+- misc fixes (BZ#645, BZ#5071)
+- locale fixes (BZ#4941, #299321, #203364, #196711, #236212)
+
 * Sat Sep 29 2007 Jakub Jelinek <jakub@redhat.com> 2.6.90-16
 - misc fixes (BZ#4963, BZ#4972, BZ#5028, BZ#5043, BZ#5058)
 - improve -D_FORTIFY_SOURCE{,=2} diagnostic through warning/error
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index 8256bca2fc..bf52d52f8f 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -59,7 +59,7 @@ modules	:= ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5		 \
 	   IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971 	 \
 	   IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804             \
 	   IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 ISO_11548-1 MIK BRF	 \
-	   MAC-CENTRALEUROPE KOI8-RU
+	   MAC-CENTRALEUROPE KOI8-RU ISO8859-9E
 
 modules.so := $(addsuffix .so, $(modules))
 
@@ -166,7 +166,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map    \
 	      inis-cyrillic.c iso-2022-jp.c iso-2022-kr.c iso646.c	    \
 	      iso8859-1.c iso8859-2.c iso8859-3.c iso8859-4.c iso8859-5.c   \
 	      iso8859-6.c iso8859-7.c iso8859-8.c iso8859-9.c iso8859-10.c  \
-	      iso8859-11.c iso8859-13.c iso8859-14.c			    \
+	      iso8859-11.c iso8859-13.c iso8859-14.c iso8859-9e.c	    \
 	      iso8859-15.c iso_2033.c iso_5427-ext.c iso_5427.c iso_5428.c  \
 	      iso_6937.c iso_6937-2.c iso_10367-box.c jis0201.c jis0201.h   \
 	      jis0208.c jis0208.h jis0212.c jis0212.h johab.c koi-8.c	    \
@@ -222,7 +222,8 @@ gen-8bit-modules := iso8859-2 iso8859-3 iso8859-4 iso8859-6 iso8859-9 koi-8 \
 		    ebcdic-es-s ebcdic-fi-se ebcdic-fi-se-a ebcdic-fr	    \
 		    ebcdic-is-friss ebcdic-it ebcdic-pt ebcdic-uk ebcdic-us \
 		    ibm037 ibm038 ibm274 ibm275 ibm423 ibm500 ibm870 ibm871 \
-		    ibm891 ibm903 ibm904 ibm905 ibm1047 iso8859-16 viscii
+		    ibm891 ibm903 ibm904 ibm905 ibm1047 iso8859-16 viscii   \
+		    iso8859-9e
 
 gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273	   \
 			ibm277 ibm278 ibm280 ibm281 ibm284 ibm285 ibm290   \
diff --git a/iconvdata/TESTS b/iconvdata/TESTS
index 4e1fdcd264..9284b448ef 100644
--- a/iconvdata/TESTS
+++ b/iconvdata/TESTS
@@ -39,6 +39,7 @@ ISO-8859-6		ISO-8859-6		Y	UTF8
 ISO-8859-7		ISO-8859-7		Y	UTF8
 ISO-8859-8		ISO-8859-8		Y	UTF8
 ISO-8859-9		ISO-8859-9		Y	UTF8
+ISO-8859-9E		ISO-8859-9E		Y	UTF8
 ISO-8859-10		ISO-8859-10		Y	UCS-2BE UTF8
 ISO-8859-14		ISO-8859-14		Y	UTF8
 ISO-8859-15		ISO-8859-15		Y	UTF8
diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules
index ae4cf5fdc9..a8fcd8f0b3 100644
--- a/iconvdata/gconv-modules
+++ b/iconvdata/gconv-modules
@@ -1920,3 +1920,10 @@ module	INTERNAL		MAC-CENTRALEUROPE//	MAC-CENTRALEUROPE 1
 #	from			to			module		cost
 module	KOI8-RU//		INTERNAL		KOI8-RU		1
 module	INTERNAL		KOI8-RU//		KOI8-RU		1
+
+#	from			to			module		cost
+alias	ISO_8859-9E//		ISO-8859-9E//
+alias	ISO8859-9E//		ISO-8859-9E//
+alias	ISO88599E//		ISO-8859-9E//
+module	ISO-8859-9E//		INTERNAL		ISO8859-9E	1
+module	INTERNAL		ISO-8859-9E//		ISO8859-9E	1
diff --git a/iconvdata/iso8859-9e.c b/iconvdata/iso8859-9e.c
new file mode 100644
index 0000000000..7048edac6f
--- /dev/null
+++ b/iconvdata/iso8859-9e.c
@@ -0,0 +1,28 @@
+/* Conversion from and to ISO 8859-9E.
+   Copyright (C) 2007 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@redhat.com>, 2007.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+/* Get the conversion table.  */
+#include <stdint.h>
+#include <iso8859-9e.h>
+
+#define CHARSET_NAME "ISO-8859-9E//"
+#define HAS_HOLES	0	/* All 256 character are defined.  */
+
+#include <8bit-generic.c>
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh
index b9eecd0683..f240e51f36 100755
--- a/iconvdata/tst-tables.sh
+++ b/iconvdata/tst-tables.sh
@@ -65,6 +65,7 @@ cat <<EOF |
   ISO-8859-7
   ISO-8859-8
   ISO-8859-9
+  ISO-8859-9E
   ISO-8859-10
   ISO-8859-11
   ISO-8859-13
diff --git a/include/stdio_ext.h b/include/stdio_ext.h
index 31c7a4e7a1..c7b77246b7 100644
--- a/include/stdio_ext.h
+++ b/include/stdio_ext.h
@@ -4,8 +4,19 @@
 
 extern int __fsetlocking_internal (FILE *__fp, int __type) attribute_hidden;
 
-#ifndef NOT_IN_libc
-# define __fsetlocking(fp, type) INTUSE(__fsetlocking) (fp, type)
-#endif
+#define __fsetlocking(fp, type) \
+  ({ int __result = ((fp->_flags & _IO_USER_LOCK)			\
+		     ? FSETLOCKING_BYCALLER : FSETLOCKING_INTERNAL);	\
+									\
+     if (type != FSETLOCKING_QUERY)					\
+       {								\
+	 fp->_flags &= ~_IO_USER_LOCK;					\
+	 if (type == FSETLOCKING_BYCALLER)				\
+	   fp->_flags |= _IO_USER_LOCK;					\
+       }								\
+									\
+     __result;								\
+  })
+
 
 #endif
diff --git a/locale/iso-639.def b/locale/iso-639.def
index 0507ba5c91..80b61a35f9 100644
--- a/locale/iso-639.def
+++ b/locale/iso-639.def
@@ -17,13 +17,16 @@ DEFINE_LANGUAGE_CODE ("Afar", aa, aar, aar)
 DEFINE_LANGUAGE_CODE3 ("Afrihili", afh, afh)
 DEFINE_LANGUAGE_CODE ("Afrikaans", af, afr, afr)
 DEFINE_LANGUAGE_CODE3 ("Afro-Asiatic (Other)", afa, afa)
+DEFINE_LANGUAGE_CODE3 ("Ainu", ain, ain)
 DEFINE_LANGUAGE_CODE ("Akan", ak, aka, aka)
 DEFINE_LANGUAGE_CODE3 ("Akkadian", akk, akk)
 DEFINE_LANGUAGE_CODE ("Albanian", sq, sqi, alb)
 DEFINE_LANGUAGE_CODE3 ("Aleut", ale, ale)
 DEFINE_LANGUAGE_CODE3 ("Algonquian languages", alg, alg)
+DEFINE_LANGUAGE_CODE3 ("Southern Altai", alt, alt)
 DEFINE_LANGUAGE_CODE3 ("Altaic (Other)", tut, tut)
 DEFINE_LANGUAGE_CODE ("Amharic", am, amh, amh)
+DEFINE_LANGUAGE_CODE3 ("Angika", anp, anp)
 DEFINE_LANGUAGE_CODE3 ("Apache languages", apa, apa)
 DEFINE_LANGUAGE_CODE ("Arabic", ar, ara, ara)
 DEFINE_LANGUAGE_CODE ("Aragonese", an, arg, arg)
@@ -32,6 +35,7 @@ DEFINE_LANGUAGE_CODE3 ("Arapaho", arp, arp)
 DEFINE_LANGUAGE_CODE3 ("Araucanian", arn, arn)
 DEFINE_LANGUAGE_CODE3 ("Arawak", arw, arw)
 DEFINE_LANGUAGE_CODE ("Armenian", hy, hye, arm)
+DEFINE_LANGUAGE_CODE3 ("Aromanian; Arumanian; Macedo-Romanian", rup, rup)
 DEFINE_LANGUAGE_CODE3 ("Artificial (Other)", art, art)
 DEFINE_LANGUAGE_CODE ("Assamese", as, asm, asm)
 DEFINE_LANGUAGE_CODE3 ("Asturian; Bable", ast, ast)
@@ -146,7 +150,9 @@ DEFINE_LANGUAGE_CODE3 ("Fon", fon, fon)
 DEFINE_LANGUAGE_CODE3 ("French, Middle (ca.1400-1800)", frm, frm)
 DEFINE_LANGUAGE_CODE3 ("French, Old (842-ca.1400)", fro, fro)
 DEFINE_LANGUAGE_CODE ("French", fr, fra, fre)
-DEFINE_LANGUAGE_CODE ("Frisian", fy, fry, fry)
+DEFINE_LANGUAGE_CODE3 ("Northern Frisian", frr, frr)
+DEFINE_LANGUAGE_CODE3 ("Eastern Frisian", frs, frs)
+DEFINE_LANGUAGE_CODE ("Western Frisian", fy, fry, fry)
 DEFINE_LANGUAGE_CODE3 ("Friulian", fur, fur)
 DEFINE_LANGUAGE_CODE ("Fulah", ff, ful, ful)
 DEFINE_LANGUAGE_CODE ("Gaelic; Scottish Gaelic", gd, gla, gla)
@@ -161,6 +167,7 @@ DEFINE_LANGUAGE_CODE3 ("German, Middle High (ca.1050-1500)", gmh, gmh)
 DEFINE_LANGUAGE_CODE3 ("German, Old High (ca.750-1050)", goh, goh)
 DEFINE_LANGUAGE_CODE3 ("Germanic (Other)", gem, gem)
 DEFINE_LANGUAGE_CODE ("German", de, deu, ger)
+DEFINE_LANGUAGE_CODE3 ("Swiss German; Alemannic", gsw, gsw)
 DEFINE_LANGUAGE_CODE3 ("Gilbertese", gil, gil)
 DEFINE_LANGUAGE_CODE3 ("Gondi", gon, gon)
 DEFINE_LANGUAGE_CODE3 ("Gorontalo", gor, gor)
@@ -220,6 +227,7 @@ DEFINE_LANGUAGE_CODE ("Kannada", kn, kan, kan)
 DEFINE_LANGUAGE_CODE ("Kanuri", kr, kau, kau)
 DEFINE_LANGUAGE_CODE3 ("Kara-Kalpak", kaa, kaa)
 DEFINE_LANGUAGE_CODE3 ("Karachay-Balkar", krc, krc)
+DEFINE_LANGUAGE_CODE3 ("Karelian", krl, krl)
 DEFINE_LANGUAGE_CODE3 ("Karen", kar, kar)
 DEFINE_LANGUAGE_CODE ("Kashmiri", ks, kas, kas)
 DEFINE_LANGUAGE_CODE3 ("Kashubian", csb, csb)
@@ -317,6 +325,7 @@ DEFINE_LANGUAGE_CODE3 ("Nias", nia, nia)
 DEFINE_LANGUAGE_CODE3 ("Niger-Kordofanian (Other)", nic, nic)
 DEFINE_LANGUAGE_CODE3 ("Nilo-Saharan (Other)", ssa, ssa)
 DEFINE_LANGUAGE_CODE3 ("Niuean", niu, niu)
+DEFINE_LANGUAGE_CODE3 ("N'Ko", nqo, nqo)
 DEFINE_LANGUAGE_CODE3 ("Nogai", nog, nog)
 DEFINE_LANGUAGE_CODE3 ("Norse, Old", non, non)
 DEFINE_LANGUAGE_CODE3 ("North American Indian", nai, nai)
@@ -405,6 +414,7 @@ DEFINE_LANGUAGE_CODE ("Sotho, Southern", st, sot, sot)
 DEFINE_LANGUAGE_CODE3 ("South American Indian (Other)", sai, sai)
 DEFINE_LANGUAGE_CODE3 ("Southern Sami", sma, sma)
 DEFINE_LANGUAGE_CODE ("Spanish; Castilian", es, spa, spa)
+DEFINE_LANGUAGE_CODE3 ("Sranan Tongo", srn, srn)
 DEFINE_LANGUAGE_CODE3 ("Sukuma", suk, suk)
 DEFINE_LANGUAGE_CODE3 ("Sumerian", sux, sux)
 DEFINE_LANGUAGE_CODE ("Sundanese", su, sun, sun)
@@ -412,6 +422,7 @@ DEFINE_LANGUAGE_CODE3 ("Susu", sus, sus)
 DEFINE_LANGUAGE_CODE ("Swahili", sw, swa, swa)
 DEFINE_LANGUAGE_CODE ("Swati", ss, ssw, ssw)
 DEFINE_LANGUAGE_CODE ("Swedish", sv, swe, swe)
+DEFINE_LANGUAGE_CODE3 ("Classical Syriac", syc, syc)
 DEFINE_LANGUAGE_CODE3 ("Syriac", syr, syr)
 DEFINE_LANGUAGE_CODE ("Tagalog", tl, tgl, tgl)
 DEFINE_LANGUAGE_CODE ("Tahitian", ty, tah, tah)
@@ -479,3 +490,4 @@ DEFINE_LANGUAGE_CODE3 ("Zenaga", zen, zen)
 DEFINE_LANGUAGE_CODE ("Zhuang; Chuang", za, zha, zha)
 DEFINE_LANGUAGE_CODE ("Zulu", zu, zul, zul)
 DEFINE_LANGUAGE_CODE3 ("Zuni", zun, zun)
+DEFINE_LANGUAGE_CODE3 ("Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki", zza, zza)
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index feab034740..d6c3de0147 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -1545,9 +1545,10 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap)
      or in none.  */
   for (i = 0; i < nrules; ++i)
     for (sect = collate->sections; sect != NULL; sect = sect->next)
-      if (sect->rules != NULL
+      if (sect != collate->current_section
+	  && sect->rules != NULL
 	  && ((sect->rules[i] & sort_position)
-	      != (collate->sections->rules[i] & sort_position)))
+	      != (collate->current_section->rules[i] & sort_position)))
 	{
 	  WITH_CUR_LOCALE (error (0, 0, _("\
 %s: `position' must be used for a specific level in all sections or none"),
@@ -1842,7 +1843,8 @@ symbol `%s' has the same encoding as"), (*eptr)->name);
 
       while (osect != sect)
 	if (osect->rules != NULL
-	    && memcmp (osect->rules, sect->rules, nrules) == 0)
+	    && memcmp (osect->rules, sect->rules,
+		       nrules * sizeof (osect->rules[0])) == 0)
 	  break;
 	else
 	  osect = osect->next;
@@ -2659,7 +2661,6 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
 
   if (nowtok == tok_copy)
     {
-      state = 2;
       now = lr_token (ldfile, charmap, result, NULL, verbose);
       if (now->tok != tok_string)
 	{
@@ -3214,13 +3215,16 @@ error while adding equivalent collating symbol"));
 		    {
 		      /* Insert sp in the collate->sections list,
 			 right after collate->current_section.  */
-		      if (collate->current_section == NULL)
-			collate->current_section = sp;
-		      else
+		      if (collate->current_section != NULL)
 			{
 			  sp->next = collate->current_section->next;
 			  collate->current_section->next = sp;
 			}
+		      else if (collate->sections == NULL)
+			/* This is the first section to be defined.  */
+			collate->sections = sp;
+
+		      collate->current_section = sp;
 		    }
 
 		  /* Next should come the end of the line or a semicolon.  */
@@ -3326,7 +3330,9 @@ error while adding equivalent collating symbol"));
 		  was_ellipsis = tok_none;
 		}
 	    }
-	  else if (state != 2 && state != 3)
+	  else if (state == 0 && copy_locale == NULL)
+	    goto err_label;
+	  else if (state != 0 && state != 2 && state != 3)
 	    goto err_label;
 	  state = 3;
 
@@ -3795,7 +3801,7 @@ error while adding equivalent collating symbol"));
 	  /* Next we assume `LC_COLLATE'.  */
 	  if (!ignore_content)
 	    {
-	      if (state == 0)
+	      if (state == 0 && copy_locale == NULL)
 		/* We must either see a copy statement or have
 		   ordering values.  */
 		lr_error (ldfile,
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 8312856633..db32361702 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,76 @@
+2007-10-02  Ulrich Drepper  <drepper@redhat.com>
+
+	* charmaps/UTF-8: Fix U06FF definition.  Remove double U074A
+	definition.  Add U0B71 and U27C0 to U27CA definitions.
+
+	* de_DE.in: Adjust for correct handling of backward direction sorting.
+
+	* fr_FR.in: New file.
+	* Makefile: Add rules to run fr_FR sorting test.
+
+2007-10-01  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #4941]
+	* locales/oc_FR: Fix Thursday abday and August mon and abmon data.
+
+	* SUPPORTED (SUPPORTED-LOCALES): Add ber_MA.UTF-8.
+
+	* locales/am_ET (LC_COLLATE): Define new script after copy.
+
+2007-09-30  Ulrich Drepper  <drepper@redhat.com>
+
+	* locales/cs_SR: Removed.
+
+	* locales/lo_LA: Add missing collating element o-e.
+
+	* locales/is_IS: Cleanup.  Remove invalid collation entries.
+	* locales/lv_LV: Likewise.
+
+	* locales/fa_IR: Add missing collating element Alef-Hamza.
+
+	* locales/da_DK: Add missing collating symbol ETH.
+	* locales/nb_NO: Likewise.
+
+	* locales/sa_IN: New file.
+	* SUPPORTED (SUPPORTED-LOCALES): Add sa_IN.
+
+	* locales/fr_FR: Change thousands_sep to U0020.
+
+	* locales/cs_CZ: Sort lowercase before uppercase.
+
+	* locales/en_GB: Change first weekday and workday to Monday.
+	* locales/nb_NO: Likewise.
+	* locales/nn_NO: Likewise.
+	[BZ #4833]
+	* locales/da_DK: Likewise.
+	[BZ #4705]
+	* locales/et_EE: Likewise.
+
+	* locales/iso14651_t1_common: Add rules for Georgian.
+
+	* locales/ber_DZ: New file.
+	* locales/fil_PH: New file.
+	* locales/fur_IT: New file.
+	* locales/fy_DE: New file.
+	* locales/ha_NG: New file.
+	* locales/ig_NG: New file.
+	* locales/ik_CA: New file.
+	* locales/iu_CA: New file.
+	* locales/li_BE: New file.
+	* locales/li_NL: New file.
+	* locales/nds_DE: New file.
+	* locales/nds_NL: New file.
+	* locales/pap_AN: New file.
+	* locales/sc_IT: New file.
+	* locales/tk_TM: New file.
+	* locales/ug_CN: New file.
+	* locales/yo_NG: New file.
+	* SUPPORTED: Add the new locales.
+
+2007-09-29  Ulrich Drepper  <drepper@redhat.com>
+
+	* charmaps/ISO-8859-9E: New file.
+
 2007-09-28  Ulrich Drepper  <drepper@redhat.com>
 
 	* charmaps/KOI8-RU: New file.
diff --git a/localedata/Makefile b/localedata/Makefile
index f599cff6eb..8d51b5a4d8 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -41,7 +41,7 @@ test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \
 	     tst-mbswcs1 tst-mbswcs2 tst-mbswcs3 tst-mbswcs4 tst-mbswcs5 \
 	     tst-ctype tst-wctype tst-langinfo 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
+	      hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8
 test-input-data = $(addsuffix .in, $(basename $(test-input)))
 test-output := $(foreach s, .out .xout, \
 			 $(addsuffix $s, $(basename $(test-input))))
@@ -133,7 +133,7 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
 	   en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \
 	   hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
 	   vi_VN.TCVN5712-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
+	   tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.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)
diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
index 5836db2adb..44a76a0c94 100644
--- a/localedata/SUPPORTED
+++ b/localedata/SUPPORTED
@@ -53,6 +53,8 @@ ast_ES/ISO-8859-15 \
 be_BY.UTF-8/UTF-8 \
 be_BY/CP1251 \
 be_BY@latin/UTF-8 \
+ber_DZ/UTF-8 \
+ber_MA/UTF-8 \
 bg_BG.UTF-8/UTF-8 \
 bg_BG/CP1251 \
 bn_BD/UTF-8 \
@@ -117,6 +119,7 @@ en_IE.UTF-8/UTF-8 \
 en_IE/ISO-8859-1 \
 en_IE@euro/ISO-8859-15 \
 en_IN/UTF-8 \
+en_NG/UTF-8 \
 en_NZ.UTF-8/UTF-8 \
 en_NZ/ISO-8859-1 \
 en_PH.UTF-8/UTF-8 \
@@ -181,6 +184,7 @@ fa_IR/UTF-8 \
 fi_FI.UTF-8/UTF-8 \
 fi_FI/ISO-8859-1 \
 fi_FI@euro/ISO-8859-15 \
+fil_PH/UTF-8 \
 fo_FO.UTF-8/UTF-8 \
 fo_FO/ISO-8859-1 \
 fr_BE.UTF-8/UTF-8 \
@@ -196,7 +200,9 @@ fr_FR@euro/ISO-8859-15 \
 fr_LU.UTF-8/UTF-8 \
 fr_LU/ISO-8859-1 \
 fr_LU@euro/ISO-8859-15 \
+fur_IT/UTF-8 \
 fy_NL/UTF-8 \
+fy_DE/UTF-8 \
 ga_IE.UTF-8/UTF-8 \
 ga_IE/ISO-8859-1 \
 ga_IE@euro/ISO-8859-15 \
@@ -212,6 +218,7 @@ gl_ES@euro/ISO-8859-15 \
 gu_IN/UTF-8 \
 gv_GB.UTF-8/UTF-8 \
 gv_GB/ISO-8859-1 \
+ha_NG/UTF-8 \
 he_IL.UTF-8/UTF-8 \
 he_IL/ISO-8859-8 \
 hi_IN/UTF-8 \
@@ -225,6 +232,8 @@ hy_AM/UTF-8 \
 hy_AM.ARMSCII-8/ARMSCII-8 \
 id_ID.UTF-8/UTF-8 \
 id_ID/ISO-8859-1 \
+ig_NG/UTF-8 \
+ik_CA/UTF-8 \
 is_IS.UTF-8/UTF-8 \
 is_IS/ISO-8859-1 \
 it_CH.UTF-8/UTF-8 \
@@ -232,6 +241,7 @@ it_CH/ISO-8859-1 \
 it_IT.UTF-8/UTF-8 \
 it_IT/ISO-8859-1 \
 it_IT@euro/ISO-8859-15 \
+iu_CA/UTF-8 \
 iw_IL.UTF-8/UTF-8 \
 iw_IL/ISO-8859-8 \
 ja_JP.EUC-JP/EUC-JP \
@@ -253,6 +263,8 @@ kw_GB/ISO-8859-1 \
 ky_KG/UTF-8 \
 lg_UG.UTF-8/UTF-8 \
 lg_UG/ISO-8859-10 \
+li_BE/UTF-8 \
+li_NL/UTF-8 \
 lo_LA/UTF-8 \
 lt_LT.UTF-8/UTF-8 \
 lt_LT/ISO-8859-13 \
@@ -274,6 +286,8 @@ mt_MT.UTF-8/UTF-8 \
 mt_MT/ISO-8859-3 \
 nb_NO.UTF-8/UTF-8 \
 nb_NO/ISO-8859-1 \
+nds_DE/UTF-8 \
+nds_NL/UTF-8 \
 ne_NP/UTF-8 \
 nl_BE.UTF-8/UTF-8 \
 nl_BE/ISO-8859-1 \
@@ -295,6 +309,7 @@ om_KE/ISO-8859-1 \
 or_IN/UTF-8 \
 pa_IN/UTF-8 \
 pa_PK/UTF-8 \
+pap_AN/UTF-8 \
 pl_PL.UTF-8/UTF-8 \
 pl_PL/ISO-8859-2 \
 pt_BR.UTF-8/UTF-8 \
@@ -310,6 +325,8 @@ ru_RU/ISO-8859-5 \
 ru_UA.UTF-8/UTF-8 \
 ru_UA/KOI8-U \
 rw_RW/UTF-8 \
+sa_IN/UTF-8 \
+sc_IT/UTF-8 \
 se_NO/UTF-8 \
 si_LK/UTF-8 \
 sid_ET/UTF-8 \
@@ -347,6 +364,7 @@ th_TH/TIS-620 \
 ti_ER/UTF-8 \
 ti_ET/UTF-8 \
 tig_ER/UTF-8 \
+tk_TM/UTF-8 \
 tl_PH.UTF-8/UTF-8 \
 tl_PH/ISO-8859-1 \
 tn_ZA/UTF-8 \
@@ -357,6 +375,7 @@ tr_TR/ISO-8859-9 \
 ts_ZA/UTF-8 \
 tt_RU.UTF-8/UTF-8 \
 tt_RU@iqtelif.UTF-8/UTF-8 \
+ug_CN/UTF-8 \
 uk_UA.UTF-8/UTF-8 \
 uk_UA/KOI8-U \
 ur_PK/UTF-8 \
@@ -373,6 +392,7 @@ xh_ZA.UTF-8/UTF-8 \
 xh_ZA/ISO-8859-1 \
 yi_US.UTF-8/UTF-8 \
 yi_US/CP1255 \
+yo_NG/UTF-8 \
 zh_CN.GB18030/GB18030 \
 zh_CN.GBK/GBK \
 zh_CN.UTF-8/UTF-8 \
diff --git a/localedata/charmaps/ISO-8859-9E b/localedata/charmaps/ISO-8859-9E
new file mode 100644
index 0000000000..005f1de6d3
--- /dev/null
+++ b/localedata/charmaps/ISO-8859-9E
@@ -0,0 +1,263 @@
+<code_set_name> ISO-8859-9E
+<comment_char> %
+<escape_char> /
+% version: 1.2
+
+CHARMAP
+<U0000>     /x00         NULL (NUL)
+<U0001>     /x01         START OF HEADING (SOH)
+<U0002>     /x02         START OF TEXT (STX)
+<U0003>     /x03         END OF TEXT (ETX)
+<U0004>     /x04         END OF TRANSMISSION (EOT)
+<U0005>     /x05         ENQUIRY (ENQ)
+<U0006>     /x06         ACKNOWLEDGE (ACK)
+<U0007>     /x07         BELL (BEL)
+<U0008>     /x08         BACKSPACE (BS)
+<U0009>     /x09         CHARACTER TABULATION (HT)
+<U000A>     /x0a         LINE FEED (LF)
+<U000B>     /x0b         LINE TABULATION (VT)
+<U000C>     /x0c         FORM FEED (FF)
+<U000D>     /x0d         CARRIAGE RETURN (CR)
+<U000E>     /x0e         SHIFT OUT (SO)
+<U000F>     /x0f         SHIFT IN (SI)
+<U0010>     /x10         DATALINK ESCAPE (DLE)
+<U0011>     /x11         DEVICE CONTROL ONE (DC1)
+<U0012>     /x12         DEVICE CONTROL TWO (DC2)
+<U0013>     /x13         DEVICE CONTROL THREE (DC3)
+<U0014>     /x14         DEVICE CONTROL FOUR (DC4)
+<U0015>     /x15         NEGATIVE ACKNOWLEDGE (NAK)
+<U0016>     /x16         SYNCHRONOUS IDLE (SYN)
+<U0017>     /x17         END OF TRANSMISSION BLOCK (ETB)
+<U0018>     /x18         CANCEL (CAN)
+<U0019>     /x19         END OF MEDIUM (EM)
+<U001A>     /x1a         SUBSTITUTE (SUB)
+<U001B>     /x1b         ESCAPE (ESC)
+<U001C>     /x1c         FILE SEPARATOR (IS4)
+<U001D>     /x1d         GROUP SEPARATOR (IS3)
+<U001E>     /x1e         RECORD SEPARATOR (IS2)
+<U001F>     /x1f         UNIT SEPARATOR (IS1)
+<U0020>     /x20         SPACE
+<U0021>     /x21         EXCLAMATION MARK
+<U0022>     /x22         QUOTATION MARK
+<U0023>     /x23         NUMBER SIGN
+<U0024>     /x24         DOLLAR SIGN
+<U0025>     /x25         PERCENT SIGN
+<U0026>     /x26         AMPERSAND
+<U0027>     /x27         APOSTROPHE
+<U0028>     /x28         LEFT PARENTHESIS
+<U0029>     /x29         RIGHT PARENTHESIS
+<U002A>     /x2a         ASTERISK
+<U002B>     /x2b         PLUS SIGN
+<U002C>     /x2c         COMMA
+<U002D>     /x2d         HYPHEN-MINUS
+<U002E>     /x2e         FULL STOP
+<U002F>     /x2f         SOLIDUS
+<U0030>     /x30         DIGIT ZERO
+<U0031>     /x31         DIGIT ONE
+<U0032>     /x32         DIGIT TWO
+<U0033>     /x33         DIGIT THREE
+<U0034>     /x34         DIGIT FOUR
+<U0035>     /x35         DIGIT FIVE
+<U0036>     /x36         DIGIT SIX
+<U0037>     /x37         DIGIT SEVEN
+<U0038>     /x38         DIGIT EIGHT
+<U0039>     /x39         DIGIT NINE
+<U003A>     /x3a         COLON
+<U003B>     /x3b         SEMICOLON
+<U003C>     /x3c         LESS-THAN SIGN
+<U003D>     /x3d         EQUALS SIGN
+<U003E>     /x3e         GREATER-THAN SIGN
+<U003F>     /x3f         QUESTION MARK
+<U0040>     /x40         COMMERCIAL AT
+<U0041>     /x41         LATIN CAPITAL LETTER A
+<U0042>     /x42         LATIN CAPITAL LETTER B
+<U0043>     /x43         LATIN CAPITAL LETTER C
+<U0044>     /x44         LATIN CAPITAL LETTER D
+<U0045>     /x45         LATIN CAPITAL LETTER E
+<U0046>     /x46         LATIN CAPITAL LETTER F
+<U0047>     /x47         LATIN CAPITAL LETTER G
+<U0048>     /x48         LATIN CAPITAL LETTER H
+<U0049>     /x49         LATIN CAPITAL LETTER I
+<U004A>     /x4a         LATIN CAPITAL LETTER J
+<U004B>     /x4b         LATIN CAPITAL LETTER K
+<U004C>     /x4c         LATIN CAPITAL LETTER L
+<U004D>     /x4d         LATIN CAPITAL LETTER M
+<U004E>     /x4e         LATIN CAPITAL LETTER N
+<U004F>     /x4f         LATIN CAPITAL LETTER O
+<U0050>     /x50         LATIN CAPITAL LETTER P
+<U0051>     /x51         LATIN CAPITAL LETTER Q
+<U0052>     /x52         LATIN CAPITAL LETTER R
+<U0053>     /x53         LATIN CAPITAL LETTER S
+<U0054>     /x54         LATIN CAPITAL LETTER T
+<U0055>     /x55         LATIN CAPITAL LETTER U
+<U0056>     /x56         LATIN CAPITAL LETTER V
+<U0057>     /x57         LATIN CAPITAL LETTER W
+<U0058>     /x58         LATIN CAPITAL LETTER X
+<U0059>     /x59         LATIN CAPITAL LETTER Y
+<U005A>     /x5a         LATIN CAPITAL LETTER Z
+<U005B>     /x5b         LEFT SQUARE BRACKET
+<U005C>     /x5c         REVERSE SOLIDUS
+<U005D>     /x5d         RIGHT SQUARE BRACKET
+<U005E>     /x5e         CIRCUMFLEX ACCENT
+<U005F>     /x5f         LOW LINE
+<U0060>     /x60         GRAVE ACCENT
+<U0061>     /x61         LATIN SMALL LETTER A
+<U0062>     /x62         LATIN SMALL LETTER B
+<U0063>     /x63         LATIN SMALL LETTER C
+<U0064>     /x64         LATIN SMALL LETTER D
+<U0065>     /x65         LATIN SMALL LETTER E
+<U0066>     /x66         LATIN SMALL LETTER F
+<U0067>     /x67         LATIN SMALL LETTER G
+<U0068>     /x68         LATIN SMALL LETTER H
+<U0069>     /x69         LATIN SMALL LETTER I
+<U006A>     /x6a         LATIN SMALL LETTER J
+<U006B>     /x6b         LATIN SMALL LETTER K
+<U006C>     /x6c         LATIN SMALL LETTER L
+<U006D>     /x6d         LATIN SMALL LETTER M
+<U006E>     /x6e         LATIN SMALL LETTER N
+<U006F>     /x6f         LATIN SMALL LETTER O
+<U0070>     /x70         LATIN SMALL LETTER P
+<U0071>     /x71         LATIN SMALL LETTER Q
+<U0072>     /x72         LATIN SMALL LETTER R
+<U0073>     /x73         LATIN SMALL LETTER S
+<U0074>     /x74         LATIN SMALL LETTER T
+<U0075>     /x75         LATIN SMALL LETTER U
+<U0076>     /x76         LATIN SMALL LETTER V
+<U0077>     /x77         LATIN SMALL LETTER W
+<U0078>     /x78         LATIN SMALL LETTER X
+<U0079>     /x79         LATIN SMALL LETTER Y
+<U007A>     /x7a         LATIN SMALL LETTER Z
+<U007B>     /x7b         LEFT CURLY BRACKET
+<U007C>     /x7c         VERTICAL LINE
+<U007D>     /x7d         RIGHT CURLY BRACKET
+<U007E>     /x7e         TILDE
+<U007F>     /x7f         DELETE (DEL)
+<U0080>     /x80         PADDING CHARACTER (PAD)
+<U0081>     /x81         HIGH OCTET PRESET (HOP)
+<U0082>     /x82         BREAK PERMITTED HERE (BPH)
+<U0083>     /x83         NO BREAK HERE (NBH)
+<U0084>     /x84         INDEX (IND)
+<U0085>     /x85         NEXT LINE (NEL)
+<U0086>     /x86         START OF SELECTED AREA (SSA)
+<U0087>     /x87         END OF SELECTED AREA (ESA)
+<U0088>     /x88         CHARACTER TABULATION SET (HTS)
+<U0089>     /x89         CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+<U008A>     /x8a         LINE TABULATION SET (VTS)
+<U008B>     /x8b         PARTIAL LINE FORWARD (PLD)
+<U008C>     /x8c         PARTIAL LINE BACKWARD (PLU)
+<U008D>     /x8d         REVERSE LINE FEED (RI)
+<U008E>     /x8e         SINGLE-SHIFT TWO (SS2)
+<U008F>     /x8f         SINGLE-SHIFT THREE (SS3)
+<U0090>     /x90         DEVICE CONTROL STRING (DCS)
+<U0091>     /x91         PRIVATE USE ONE (PU1)
+<U0092>     /x92         PRIVATE USE TWO (PU2)
+<U0093>     /x93         SET TRANSMIT STATE (STS)
+<U0094>     /x94         CANCEL CHARACTER (CCH)
+<U0095>     /x95         MESSAGE WAITING (MW)
+<U0096>     /x96         START OF GUARDED AREA (SPA)
+<U0097>     /x97         END OF GUARDED AREA (EPA)
+<U0098>     /x98         START OF STRING (SOS)
+<U0099>     /x99         SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+<U009A>     /x9a         SINGLE CHARACTER INTRODUCER (SCI)
+<U009B>     /x9b         CONTROL SEQUENCE INTRODUCER (CSI)
+<U009C>     /x9c         STRING TERMINATOR (ST)
+<U009D>     /x9d         OPERATING SYSTEM COMMAND (OSC)
+<U009E>     /x9e         PRIVACY MESSAGE (PM)
+<U009F>     /x9f         APPLICATION PROGRAM COMMAND (APC)
+<U00A0>     /xa0         NO-BREAK SPACE
+<U017D>     /xa1         LATIN CAPITAL LETTER Z WITH CARON
+<U00A2>     /xa2         CENT SIGN
+<U00A3>     /xa3         POUND SIGN
+<U20AC>     /xa4         EURO SIGN
+<U00A5>     /xa5         YEN SIGN
+<U012C>     /xa6         LATIN CAPITAL LETTER I WITH BREVE
+<U00A7>     /xa7         SECTION SIGN
+<U016C>     /xa8         LATIN CAPITAL LETTER U WITH BREVE
+<U00A9>     /xa9         COPYRIGHT SIGN
+<U01E6>     /xaa         LATIN CAPITAL LETTER G WITH CARON
+<U00AB>     /xab         LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U014A>     /xac         LATIN CAPITAL LETTER ENG
+<U00AD>     /xad         SOFT HYPHEN
+<U00AE>     /xae         REGISTERED SIGN
+<U01D1>     /xaf         LATIN CAPITAL LETTER O WITH CARON
+<U00B0>     /xb0         DEGREE SIGN
+<U017E>     /xb1         LATIN SMALL LETTER Z WITH CARON
+<U00B2>     /xb2         SUPERSCRIPT TWO
+<U00B3>     /xb3         SUPERSCRIPT THREE
+<U00B4>     /xb4         ACUTE ACCENT
+<U00B5>     /xb5         MICRO SIGN
+<U012D>     /xb6         LATIN SMALL LETTER I WITH BREVE
+<U00B7>     /xb7         MIDDLE DOT
+<U016D>     /xb8         LATIN SMALL LETTER U WITH BREVE
+<U00B9>     /xb9         SUPERSCRIPT ONE
+<U01E7>     /xba         LATIN SMALL LETTER G WITH CARON
+<U00BB>     /xbb         RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U014B>     /xbc         LATIN SMALL LETTER ENG
+<U00BD>     /xbd         VULGAR FRACTION ONE HALF
+<U0178>     /xbe         LATIN CAPITAL LETTER Y WITH DIAERESIS
+<U01D2>     /xbf         LATIN SMALL LETTER O WITH CARON
+<U00C0>     /xc0         LATIN CAPITAL LETTER A WITH GRAVE
+<U00C1>     /xc1         LATIN CAPITAL LETTER A WITH ACUTE
+<U00C2>     /xc2         LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+<U00C3>     /xc3         LATIN CAPITAL LETTER A WITH TILDE
+<U00C4>     /xc4         LATIN CAPITAL LETTER A WITH DIAERESIS
+<U00C5>     /xc5         LATIN CAPITAL LETTER A WITH RING ABOVE
+<U018F>     /xc6         LATIN CAPITAL LETTER SCHWA
+<U00C7>     /xc7         LATIN CAPITAL LETTER C WITH CEDILLA
+<U00C8>     /xc8         LATIN CAPITAL LETTER E WITH GRAVE
+<U00C9>     /xc9         LATIN CAPITAL LETTER E WITH ACUTE
+<U00CA>     /xca         LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<U00CB>     /xcb         LATIN CAPITAL LETTER E WITH DIAERESIS
+<U00CC>     /xcc         LATIN CAPITAL LETTER I WITH GRAVE
+<U00CD>     /xcd         LATIN CAPITAL LETTER I WITH ACUTE
+<U00CE>     /xce         LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+<U00CF>     /xcf         LATIN CAPITAL LETTER I WITH DIAERESIS
+<U011E>     /xd0         LATIN CAPITAL LETTER G WITH BREVE
+<U00D1>     /xd1         LATIN CAPITAL LETTER N WITH TILDE
+<U00D2>     /xd2         LATIN CAPITAL LETTER O WITH GRAVE
+<U00D3>     /xd3         LATIN CAPITAL LETTER O WITH ACUTE
+<U00D4>     /xd4         LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+<U00D5>     /xd5         LATIN CAPITAL LETTER O WITH TILDE
+<U00D6>     /xd6         LATIN CAPITAL LETTER O WITH DIAERESIS
+<U00DD>     /xd7         LATIN CAPITAL LETTER Y WITH ACUTE
+<U019F>     /xd8         LATIN CAPITAL LETTER BARRED O
+<U00D9>     /xd9         LATIN CAPITAL LETTER U WITH GRAVE
+<U00DA>     /xda         LATIN CAPITAL LETTER U WITH ACUTE
+<U00DB>     /xdb         LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+<U00DC>     /xdc         LATIN CAPITAL LETTER U WITH DIAERESIS
+<U0130>     /xdd         LATIN CAPITAL LETTER I WITH DOT ABOVE
+<U015E>     /xde         LATIN CAPITAL LETTER S WITH CEDILLA
+<U00DF>     /xdf         LATIN SMALL LETTER SHARP S (German)
+<U00E0>     /xe0         LATIN SMALL LETTER A WITH GRAVE
+<U00E1>     /xe1         LATIN SMALL LETTER A WITH ACUTE
+<U00E2>     /xe2         LATIN SMALL LETTER A WITH CIRCUMFLEX
+<U00E3>     /xe3         LATIN SMALL LETTER A WITH TILDE
+<U00E4>     /xe4         LATIN SMALL LETTER A WITH DIAERESIS
+<U00E5>     /xe5         LATIN SMALL LETTER A WITH RING ABOVE
+<U0259>     /xe6         LATIN SMALL LETTER SCHWA
+<U00E7>     /xe7         LATIN SMALL LETTER C WITH CEDILLA
+<U00E8>     /xe8         LATIN SMALL LETTER E WITH GRAVE
+<U00E9>     /xe9         LATIN SMALL LETTER E WITH ACUTE
+<U00EA>     /xea         LATIN SMALL LETTER E WITH CIRCUMFLEX
+<U00EB>     /xeb         LATIN SMALL LETTER E WITH DIAERESIS
+<U00EC>     /xec         LATIN SMALL LETTER I WITH GRAVE
+<U00ED>     /xed         LATIN SMALL LETTER I WITH ACUTE
+<U00EE>     /xee         LATIN SMALL LETTER I WITH CIRCUMFLEX
+<U00EF>     /xef         LATIN SMALL LETTER I WITH DIAERESIS
+<U011F>     /xf0         LATIN SMALL LETTER G WITH BREVE
+<U00F1>     /xf1         LATIN SMALL LETTER N WITH TILDE
+<U00F2>     /xf2         LATIN SMALL LETTER O WITH GRAVE
+<U00F3>     /xf3         LATIN SMALL LETTER O WITH ACUTE
+<U00F4>     /xf4         LATIN SMALL LETTER O WITH CIRCUMFLEX
+<U00F5>     /xf5         LATIN SMALL LETTER O WITH TILDE
+<U00F6>     /xf6         LATIN SMALL LETTER O WITH DIAERESIS
+<U00FD>     /xf7         LATIN SMALL LETTER Y WITH ACUTE
+<U0275>     /xf8         LATIN SMALL LETTER BARRED O
+<U00F9>     /xf9         LATIN SMALL LETTER U WITH GRAVE
+<U00FA>     /xfa         LATIN SMALL LETTER U WITH ACUTE
+<U00FB>     /xfb         LATIN SMALL LETTER U WITH CIRCUMFLEX
+<U00FC>     /xfc         LATIN SMALL LETTER U WITH DIAERESIS
+<U0131>     /xfd         LATIN SMALL LETTER DOTLESS I
+<U015F>     /xfe         LATIN SMALL LETTER S WITH CEDILLA
+<U00FF>     /xff         LATIN SMALL LETTER Y WITH DIAERESIS
+END CHARMAP
diff --git a/localedata/charmaps/UTF-8 b/localedata/charmaps/UTF-8
index 9ab3e6cd9d..05bd81d98e 100644
--- a/localedata/charmaps/UTF-8
+++ b/localedata/charmaps/UTF-8
@@ -551,7 +551,7 @@ CHARMAP
 <U021E>     /xc8/x9e     LATIN CAPITAL LETTER H WITH CARON
 <U021F>     /xc8/x9f     LATIN SMALL LETTER H WITH CARON
 <U0220>     /xc8/xa0     LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-<U0221>     /xc8/xa1 LATIN SMALL LETTER D WITH CURL
+<U0221>     /xc8/xa1     LATIN SMALL LETTER D WITH CURL
 <U0222>     /xc8/xa2     LATIN CAPITAL LETTER OU
 <U0223>     /xc8/xa3     LATIN SMALL LETTER OU
 <U0224>     /xc8/xa4     LATIN CAPITAL LETTER Z WITH HOOK
@@ -570,34 +570,34 @@ CHARMAP
 <U0231>     /xc8/xb1     LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
 <U0232>     /xc8/xb2     LATIN CAPITAL LETTER Y WITH MACRON
 <U0233>     /xc8/xb3     LATIN SMALL LETTER Y WITH MACRON
-<U0234>     /xc8/xb4 LATIN SMALL LETTER L WITH CURL
-<U0235>     /xc8/xb5 LATIN SMALL LETTER N WITH CURL
-<U0236>     /xc8/xb6 LATIN SMALL LETTER T WITH CURL
-<U0237>     /xc8/xb7 LATIN SMALL LETTER DOTLESS J
-<U0238>     /xc8/xb8 LATIN SMALL LETTER DB DIGRAPH
-<U0239>     /xc8/xb9 LATIN SMALL LETTER QP DIGRAPH
-<U023A>     /xc8/xba LATIN CAPITAL LETTER A WITH STROKE
-<U023B>     /xc8/xbb LATIN CAPITAL LETTER C WITH STROKE
-<U023C>     /xc8/xbc LATIN SMALL LETTER C WITH STROKE
-<U023D>     /xc8/xbd LATIN CAPITAL LETTER L WITH BAR
-<U023E>     /xc8/xbe LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-<U023F>     /xc8/xbf LATIN SMALL LETTER S WITH SWASH TAIL
-<U0240>     /xc9/x80 LATIN SMALL LETTER Z WITH SWASH TAIL
-<U0241>     /xc9/x81 LATIN CAPITAL LETTER GLOTTAL STOP
-<U0242>     /xc9/x82 LATIN SMALL LETTER GLOTTAL STOP
-<U0243>     /xc9/x83 LATIN CAPITAL LETTER B WITH STROKE
-<U0244>     /xc9/x84 LATIN CAPITAL LETTER U BAR
-<U0245>     /xc9/x85 LATIN CAPITAL LETTER TURNED V
-<U0246>     /xc9/x86 LATIN CAPITAL LETTER E WITH STROKE
-<U0247>     /xc9/x87 LATIN SMALL LETTER E WITH STROKE
-<U0248>     /xc9/x88 LATIN CAPITAL LETTER J WITH STROKE
-<U0249>     /xc9/x89 LATIN SMALL LETTER J WITH STROKE
-<U024A>     /xc9/x8a LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-<U024B>     /xc9/x8b LATIN SMALL LETTER Q WITH HOOK TAIL
-<U024C>     /xc9/x8c LATIN CAPITAL LETTER R WITH STROKE
-<U024D>     /xc9/x8d LATIN SMALL LETTER R WITH STROKE
-<U024E>     /xc9/x8e LATIN CAPITAL LETTER Y WITH STROKE
-<U024F>     /xc9/x8f LATIN SMALL LETTER Y WITH STROKE
+<U0234>     /xc8/xb4     LATIN SMALL LETTER L WITH CURL
+<U0235>     /xc8/xb5     LATIN SMALL LETTER N WITH CURL
+<U0236>     /xc8/xb6     LATIN SMALL LETTER T WITH CURL
+<U0237>     /xc8/xb7     LATIN SMALL LETTER DOTLESS J
+<U0238>     /xc8/xb8     LATIN SMALL LETTER DB DIGRAPH
+<U0239>     /xc8/xb9     LATIN SMALL LETTER QP DIGRAPH
+<U023A>     /xc8/xba     LATIN CAPITAL LETTER A WITH STROKE
+<U023B>     /xc8/xbb     LATIN CAPITAL LETTER C WITH STROKE
+<U023C>     /xc8/xbc     LATIN SMALL LETTER C WITH STROKE
+<U023D>     /xc8/xbd     LATIN CAPITAL LETTER L WITH BAR
+<U023E>     /xc8/xbe     LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+<U023F>     /xc8/xbf     LATIN SMALL LETTER S WITH SWASH TAIL
+<U0240>     /xc9/x80     LATIN SMALL LETTER Z WITH SWASH TAIL
+<U0241>     /xc9/x81     LATIN CAPITAL LETTER GLOTTAL STOP
+<U0242>     /xc9/x82     LATIN SMALL LETTER GLOTTAL STOP
+<U0243>     /xc9/x83     LATIN CAPITAL LETTER B WITH STROKE
+<U0244>     /xc9/x84     LATIN CAPITAL LETTER U BAR
+<U0245>     /xc9/x85     LATIN CAPITAL LETTER TURNED V
+<U0246>     /xc9/x86     LATIN CAPITAL LETTER E WITH STROKE
+<U0247>     /xc9/x87     LATIN SMALL LETTER E WITH STROKE
+<U0248>     /xc9/x88     LATIN CAPITAL LETTER J WITH STROKE
+<U0249>     /xc9/x89     LATIN SMALL LETTER J WITH STROKE
+<U024A>     /xc9/x8a     LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+<U024B>     /xc9/x8b     LATIN SMALL LETTER Q WITH HOOK TAIL
+<U024C>     /xc9/x8c     LATIN CAPITAL LETTER R WITH STROKE
+<U024D>     /xc9/x8d     LATIN SMALL LETTER R WITH STROKE
+<U024E>     /xc9/x8e     LATIN CAPITAL LETTER Y WITH STROKE
+<U024F>     /xc9/x8f     LATIN SMALL LETTER Y WITH STROKE
 <U0250>     /xc9/x90     LATIN SMALL LETTER TURNED A
 <U0251>     /xc9/x91     LATIN SMALL LETTER ALPHA
 <U0252>     /xc9/x92     LATIN SMALL LETTER TURNED ALPHA
@@ -692,8 +692,8 @@ CHARMAP
 <U02AB>     /xca/xab     LATIN SMALL LETTER LZ DIGRAPH
 <U02AC>     /xca/xac     LATIN LETTER BILABIAL PERCUSSIVE
 <U02AD>     /xca/xad     LATIN LETTER BIDENTAL PERCUSSIVE
-<U02AE>     /xca/xae LATIN SMALL LETTER TURNED H WITH FISHHOOK
-<U02AF>     /xca/xaf LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+<U02AE>     /xca/xae     LATIN SMALL LETTER TURNED H WITH FISHHOOK
+<U02AF>     /xca/xaf     LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 <U02B0>     /xca/xb0     MODIFIER LETTER SMALL H
 <U02B1>     /xca/xb1     MODIFIER LETTER SMALL H WITH HOOK
 <U02B2>     /xca/xb2     MODIFIER LETTER SMALL J
@@ -757,23 +757,23 @@ CHARMAP
 <U02EC>     /xcb/xac     MODIFIER LETTER VOICING
 <U02ED>     /xcb/xad     MODIFIER LETTER UNASPIRATED
 <U02EE>     /xcb/xae     MODIFIER LETTER DOUBLE APOSTROPHE
-<U02EF>     /xcb/xaf MODIFIER LETTER LOW DOWN ARROWHEAD
-<U02F0>     /xcb/xb0 MODIFIER LETTER LOW UP ARROWHEAD
-<U02F1>     /xcb/xb1 MODIFIER LETTER LOW LEFT ARROWHEAD
-<U02F2>     /xcb/xb2 MODIFIER LETTER LOW RIGHT ARROWHEAD
-<U02F3>     /xcb/xb3 MODIFIER LETTER LOW RING
-<U02F4>     /xcb/xb4 MODIFIER LETTER MIDDLE GRAVE ACCENT
-<U02F5>     /xcb/xb5 MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-<U02F6>     /xcb/xb6 MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-<U02F7>     /xcb/xb7 MODIFIER LETTER LOW TILDE
-<U02F8>     /xcb/xb8 MODIFIER LETTER RAISED COLON
-<U02F9>     /xcb/xb9 MODIFIER LETTER BEGIN HIGH TONE
-<U02FA>     /xcb/xba MODIFIER LETTER END HIGH TONE
-<U02FB>     /xcb/xbb MODIFIER LETTER BEGIN LOW TONE
-<U02FC>     /xcb/xbc MODIFIER LETTER END LOW TONE
-<U02FD>     /xcb/xbd MODIFIER LETTER SHELF
-<U02FE>     /xcb/xbe MODIFIER LETTER OPEN SHELF
-<U02FF>     /xcb/xbf MODIFIER LETTER LOW LEFT ARROW
+<U02EF>     /xcb/xaf     MODIFIER LETTER LOW DOWN ARROWHEAD
+<U02F0>     /xcb/xb0     MODIFIER LETTER LOW UP ARROWHEAD
+<U02F1>     /xcb/xb1     MODIFIER LETTER LOW LEFT ARROWHEAD
+<U02F2>     /xcb/xb2     MODIFIER LETTER LOW RIGHT ARROWHEAD
+<U02F3>     /xcb/xb3     MODIFIER LETTER LOW RING
+<U02F4>     /xcb/xb4     MODIFIER LETTER MIDDLE GRAVE ACCENT
+<U02F5>     /xcb/xb5     MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
+<U02F6>     /xcb/xb6     MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
+<U02F7>     /xcb/xb7     MODIFIER LETTER LOW TILDE
+<U02F8>     /xcb/xb8     MODIFIER LETTER RAISED COLON
+<U02F9>     /xcb/xb9     MODIFIER LETTER BEGIN HIGH TONE
+<U02FA>     /xcb/xba     MODIFIER LETTER END HIGH TONE
+<U02FB>     /xcb/xbb     MODIFIER LETTER BEGIN LOW TONE
+<U02FC>     /xcb/xbc     MODIFIER LETTER END LOW TONE
+<U02FD>     /xcb/xbd     MODIFIER LETTER SHELF
+<U02FE>     /xcb/xbe     MODIFIER LETTER OPEN SHELF
+<U02FF>     /xcb/xbf     MODIFIER LETTER LOW LEFT ARROW
 <U0300>     /xcc/x80     COMBINING GRAVE ACCENT
 <U0301>     /xcc/x81     COMBINING ACUTE ACCENT
 <U0302>     /xcc/x82     COMBINING CIRCUMFLEX ACCENT
@@ -854,22 +854,22 @@ CHARMAP
 <U034D>     /xcd/x8d     COMBINING LEFT RIGHT ARROW BELOW
 <U034E>     /xcd/x8e     COMBINING UPWARDS ARROW BELOW
 <U034F>     /xcd/x8f     COMBINING GRAPHEME JOINER
-<U0350>     /xcd/x90 COMBINING RIGHT ARROWHEAD ABOVE
-<U0351>     /xcd/x91 COMBINING LEFT HALF RING ABOVE
-<U0352>     /xcd/x92 COMBINING FERMATA
-<U0353>     /xcd/x93 COMBINING X BELOW
-<U0354>     /xcd/x94 COMBINING LEFT ARROWHEAD BELOW
-<U0355>     /xcd/x95 COMBINING RIGHT ARROWHEAD BELOW
-<U0356>     /xcd/x96 COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
-<U0357>     /xcd/x97 COMBINING RIGHT HALF RING ABOVE
-<U0358>     /xcd/x98 COMBINING DOT ABOVE RIGHT
-<U0359>     /xcd/x99 COMBINING ASTERISK BELOW
-<U035A>     /xcd/x9a COMBINING DOUBLE RING BELOW
-<U035B>     /xcd/x9b COMBINING ZIGZAG ABOVE
-<U035C>     /xcd/x9c COMBINING DOUBLE BREVE BELOW
-<U035D>     /xcd/x9d COMBINING DOUBLE BREVE
-<U035E>     /xcd/x9e COMBINING DOUBLE MACRON
-<U035F>     /xcd/x9f COMBINING DOUBLE MACRON BELOW
+<U0350>     /xcd/x90     COMBINING RIGHT ARROWHEAD ABOVE
+<U0351>     /xcd/x91     COMBINING LEFT HALF RING ABOVE
+<U0352>     /xcd/x92     COMBINING FERMATA
+<U0353>     /xcd/x93     COMBINING X BELOW
+<U0354>     /xcd/x94     COMBINING LEFT ARROWHEAD BELOW
+<U0355>     /xcd/x95     COMBINING RIGHT ARROWHEAD BELOW
+<U0356>     /xcd/x96     COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
+<U0357>     /xcd/x97     COMBINING RIGHT HALF RING ABOVE
+<U0358>     /xcd/x98     COMBINING DOT ABOVE RIGHT
+<U0359>     /xcd/x99     COMBINING ASTERISK BELOW
+<U035A>     /xcd/x9a     COMBINING DOUBLE RING BELOW
+<U035B>     /xcd/x9b     COMBINING ZIGZAG ABOVE
+<U035C>     /xcd/x9c     COMBINING DOUBLE BREVE BELOW
+<U035D>     /xcd/x9d     COMBINING DOUBLE BREVE
+<U035E>     /xcd/x9e     COMBINING DOUBLE MACRON
+<U035F>     /xcd/x9f     COMBINING DOUBLE MACRON BELOW
 <U0360>     /xcd/xa0     COMBINING DOUBLE TILDE
 <U0361>     /xcd/xa1     COMBINING DOUBLE INVERTED BREVE
 <U0362>     /xcd/xa2     COMBINING DOUBLE RIGHTWARDS ARROW BELOW
@@ -889,9 +889,9 @@ CHARMAP
 <U0374>     /xcd/xb4     GREEK NUMERAL SIGN
 <U0375>     /xcd/xb5     GREEK LOWER NUMERAL SIGN
 <U037A>     /xcd/xba     GREEK YPOGEGRAMMENI
-<U037B>     /xcd/xbb GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-<U037C>     /xcd/xbc GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-<U037D>     /xcd/xbd GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+<U037B>     /xcd/xbb     GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+<U037C>     /xcd/xbc     GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+<U037D>     /xcd/xbd     GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
 <U037E>     /xcd/xbe     GREEK QUESTION MARK
 <U0384>     /xce/x84     GREEK TONOS
 <U0385>     /xce/x85     GREEK DIALYTIKA TONOS
@@ -1004,15 +1004,15 @@ CHARMAP
 <U03F4>     /xcf/xb4     GREEK CAPITAL THETA SYMBOL
 <U03F5>     /xcf/xb5     GREEK LUNATE EPSILON SYMBOL
 <U03F6>     /xcf/xb6     GREEK REVERSED LUNATE EPSILON SYMBOL
-<U03F7>     /xcf/xb7 GREEK CAPITAL LETTER SHO
-<U03F8>     /xcf/xb8 GREEK SMALL LETTER SHO
-<U03F9>     /xcf/xb9 GREEK CAPITAL LUNATE SIGMA SYMBOL
-<U03FA>     /xcf/xba GREEK CAPITAL LETTER SAN
-<U03FB>     /xcf/xbb GREEK SMALL LETTER SAN
-<U03FC>     /xcf/xbc GREEK RHO WITH STROKE SYMBOL
-<U03FD>     /xcf/xbd GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-<U03FE>     /xcf/xbe GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-<U03FF>     /xcf/xbf GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+<U03F7>     /xcf/xb7     GREEK CAPITAL LETTER SHO
+<U03F8>     /xcf/xb8     GREEK SMALL LETTER SHO
+<U03F9>     /xcf/xb9     GREEK CAPITAL LUNATE SIGMA SYMBOL
+<U03FA>     /xcf/xba     GREEK CAPITAL LETTER SAN
+<U03FB>     /xcf/xbb     GREEK SMALL LETTER SAN
+<U03FC>     /xcf/xbc     GREEK RHO WITH STROKE SYMBOL
+<U03FD>     /xcf/xbd     GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
+<U03FE>     /xcf/xbe     GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
+<U03FF>     /xcf/xbf     GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
 <U0400>     /xd0/x80     CYRILLIC CAPITAL LETTER IE WITH GRAVE
 <U0401>     /xd0/x81     CYRILLIC CAPITAL LETTER IO
 <U0402>     /xd0/x82     CYRILLIC CAPITAL LETTER DJE
@@ -1219,7 +1219,7 @@ CHARMAP
 <U04CC>     /xd3/x8c     CYRILLIC SMALL LETTER KHAKASSIAN CHE
 <U04CD>     /xd3/x8d     CYRILLIC CAPITAL LETTER EM WITH TAIL
 <U04CE>     /xd3/x8e     CYRILLIC SMALL LETTER EM WITH TAIL
-<U04CF>     /xd3/x8f CYRILLIC SMALL LETTER PALOCHKA
+<U04CF>     /xd3/x8f     CYRILLIC SMALL LETTER PALOCHKA
 <U04D0>     /xd3/x90     CYRILLIC CAPITAL LETTER A WITH BREVE
 <U04D1>     /xd3/x91     CYRILLIC SMALL LETTER A WITH BREVE
 <U04D2>     /xd3/x92     CYRILLIC CAPITAL LETTER A WITH DIAERESIS
@@ -1258,16 +1258,16 @@ CHARMAP
 <U04F3>     /xd3/xb3     CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
 <U04F4>     /xd3/xb4     CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
 <U04F5>     /xd3/xb5     CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-<U04F6>     /xd3/xb6 CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-<U04F7>     /xd3/xb7 CYRILLIC SMALL LETTER GHE WITH DESCENDER
+<U04F6>     /xd3/xb6     CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+<U04F7>     /xd3/xb7     CYRILLIC SMALL LETTER GHE WITH DESCENDER
 <U04F8>     /xd3/xb8     CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
 <U04F9>     /xd3/xb9     CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-<U04FA>     /xd3/xba CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-<U04FB>     /xd3/xbb CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-<U04FC>     /xd3/xbc CYRILLIC CAPITAL LETTER HA WITH HOOK
-<U04FD>     /xd3/xbd CYRILLIC SMALL LETTER HA WITH HOOK
-<U04FE>     /xd3/xbe CYRILLIC CAPITAL LETTER HA WITH STROKE
-<U04FF>     /xd3/xbf CYRILLIC SMALL LETTER HA WITH STROKE
+<U04FA>     /xd3/xba     CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+<U04FB>     /xd3/xbb     CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+<U04FC>     /xd3/xbc     CYRILLIC CAPITAL LETTER HA WITH HOOK
+<U04FD>     /xd3/xbd     CYRILLIC SMALL LETTER HA WITH HOOK
+<U04FE>     /xd3/xbe     CYRILLIC CAPITAL LETTER HA WITH STROKE
+<U04FF>     /xd3/xbf     CYRILLIC SMALL LETTER HA WITH STROKE
 <U0500>     /xd4/x80     CYRILLIC CAPITAL LETTER KOMI DE
 <U0501>     /xd4/x81     CYRILLIC SMALL LETTER KOMI DE
 <U0502>     /xd4/x82     CYRILLIC CAPITAL LETTER KOMI DJE
@@ -1284,10 +1284,10 @@ CHARMAP
 <U050D>     /xd4/x8d     CYRILLIC SMALL LETTER KOMI SJE
 <U050E>     /xd4/x8e     CYRILLIC CAPITAL LETTER KOMI TJE
 <U050F>     /xd4/x8f     CYRILLIC SMALL LETTER KOMI TJE
-<U0510>     /xd4/x90 CYRILLIC CAPITAL LETTER REVERSED ZE
-<U0511>     /xd4/x91 CYRILLIC SMALL LETTER REVERSED ZE
-<U0512>     /xd4/x92 CYRILLIC CAPITAL LETTER EL WITH HOOK
-<U0513>     /xd4/x93 CYRILLIC SMALL LETTER EL WITH HOOK
+<U0510>     /xd4/x90     CYRILLIC CAPITAL LETTER REVERSED ZE
+<U0511>     /xd4/x91     CYRILLIC SMALL LETTER REVERSED ZE
+<U0512>     /xd4/x92     CYRILLIC CAPITAL LETTER EL WITH HOOK
+<U0513>     /xd4/x93     CYRILLIC SMALL LETTER EL WITH HOOK
 <U0531>     /xd4/xb1     ARMENIAN CAPITAL LETTER AYB
 <U0532>     /xd4/xb2     ARMENIAN CAPITAL LETTER BEN
 <U0533>     /xd4/xb3     ARMENIAN CAPITAL LETTER GIM
@@ -1391,7 +1391,7 @@ CHARMAP
 <U059F>     /xd6/x9f     HEBREW ACCENT QARNEY PARA
 <U05A0>     /xd6/xa0     HEBREW ACCENT TELISHA GEDOLA
 <U05A1>     /xd6/xa1     HEBREW ACCENT PAZER
-<U05A2>     /xd6/xa2 HEBREW ACCENT ATNAH HAFUKH
+<U05A2>     /xd6/xa2     HEBREW ACCENT ATNAH HAFUKH
 <U05A3>     /xd6/xa3     HEBREW ACCENT MUNAH
 <U05A4>     /xd6/xa4     HEBREW ACCENT MAHAPAKH
 <U05A5>     /xd6/xa5     HEBREW ACCENT MERKHA
@@ -1415,7 +1415,7 @@ CHARMAP
 <U05B7>     /xd6/xb7     HEBREW POINT PATAH
 <U05B8>     /xd6/xb8     HEBREW POINT QAMATS
 <U05B9>     /xd6/xb9     HEBREW POINT HOLAM
-<U05BA>     /xd6/xba HEBREW POINT HOLAM HASER FOR VAV
+<U05BA>     /xd6/xba     HEBREW POINT HOLAM HASER FOR VAV
 <U05BB>     /xd6/xbb     HEBREW POINT QUBUTS
 <U05BC>     /xd6/xbc     HEBREW POINT DAGESH OR MAPIQ
 <U05BD>     /xd6/xbd     HEBREW POINT METEG
@@ -1426,9 +1426,9 @@ CHARMAP
 <U05C2>     /xd7/x82     HEBREW POINT SIN DOT
 <U05C3>     /xd7/x83     HEBREW PUNCTUATION SOF PASUQ
 <U05C4>     /xd7/x84     HEBREW MARK UPPER DOT
-<U05C5>     /xd7/x85 HEBREW MARK LOWER DOT
-<U05C6>     /xd7/x86 HEBREW PUNCTUATION NUN HAFUKHA
-<U05C7>     /xd7/x87 HEBREW POINT QAMATS QATAN
+<U05C5>     /xd7/x85     HEBREW MARK LOWER DOT
+<U05C6>     /xd7/x86     HEBREW PUNCTUATION NUN HAFUKHA
+<U05C7>     /xd7/x87     HEBREW POINT QAMATS QATAN
 <U05D0>     /xd7/x90     HEBREW LETTER ALEF
 <U05D1>     /xd7/x91     HEBREW LETTER BET
 <U05D2>     /xd7/x92     HEBREW LETTER GIMEL
@@ -1461,23 +1461,23 @@ CHARMAP
 <U05F2>     /xd7/xb2     HEBREW LIGATURE YIDDISH DOUBLE YOD
 <U05F3>     /xd7/xb3     HEBREW PUNCTUATION GERESH
 <U05F4>     /xd7/xb4     HEBREW PUNCTUATION GERSHAYIM
-<U0600>     /xd8/x80 ARABIC NUMBER SIGN
-<U0601>     /xd8/x81 ARABIC SIGN SANAH
-<U0602>     /xd8/x82 ARABIC FOOTNOTE MARKER
-<U0603>     /xd8/x83 ARABIC SIGN SAFHA
-<U060B>     /xd8/x8B AFGHANI SIGN
+<U0600>     /xd8/x80     ARABIC NUMBER SIGN
+<U0601>     /xd8/x81     ARABIC SIGN SANAH
+<U0602>     /xd8/x82     ARABIC FOOTNOTE MARKER
+<U0603>     /xd8/x83     ARABIC SIGN SAFHA
+<U060B>     /xd8/x8B     AFGHANI SIGN
 <U060C>     /xd8/x8c     ARABIC COMMA
-<U060D>     /xd8/x8d ARABIC DATE SEPARATOR
-<U060E>     /xd8/x8e ARABIC POETIC VERSE SIGN
-<U060F>     /xd8/x8f ARABIC SIGN MISRA
-<U0610>     /xd8/x90 ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
-<U0611>     /xd8/x91 ARABIC SIGN ALAYHE ASSALLAM
-<U0612>     /xd8/x92 ARABIC SIGN RAHMATULLAH ALAYHE
-<U0613>     /xd8/x93 ARABIC SIGN RADI ALLAHOU ANHU
-<U0614>     /xd8/x94 ARABIC SIGN TAKHALLUS
-<U0615>     /xd8/x95 ARABIC SMALL HIGH TAH
+<U060D>     /xd8/x8d     ARABIC DATE SEPARATOR
+<U060E>     /xd8/x8e     ARABIC POETIC VERSE SIGN
+<U060F>     /xd8/x8f     ARABIC SIGN MISRA
+<U0610>     /xd8/x90     ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
+<U0611>     /xd8/x91     ARABIC SIGN ALAYHE ASSALLAM
+<U0612>     /xd8/x92     ARABIC SIGN RAHMATULLAH ALAYHE
+<U0613>     /xd8/x93     ARABIC SIGN RADI ALLAHOU ANHU
+<U0614>     /xd8/x94     ARABIC SIGN TAKHALLUS
+<U0615>     /xd8/x95     ARABIC SMALL HIGH TAH
 <U061B>     /xd8/x9b     ARABIC SEMICOLON
-<U061E>     /xd8/x9e ARABIC TRIPLE DOT PUNCTUATION MARK
+<U061E>     /xd8/x9e     ARABIC TRIPLE DOT PUNCTUATION MARK
 <U061F>     /xd8/x9f     ARABIC QUESTION MARK
 <U0621>     /xd8/xa1     ARABIC LETTER HAMZA
 <U0622>     /xd8/xa2     ARABIC LETTER ALEF WITH MADDA ABOVE
@@ -1527,15 +1527,15 @@ CHARMAP
 <U0653>     /xd9/x93     ARABIC MADDAH ABOVE
 <U0654>     /xd9/x94     ARABIC HAMZA ABOVE
 <U0655>     /xd9/x95     ARABIC HAMZA BELOW
-<U0656>     /xd9/x96 ARABIC SUBSCRIPT ALEF
-<U0657>     /xd9/x97 ARABIC INVERTED DAMMA
-<U0658>     /xd9/x98 ARABIC MARK NOON GHUNNA
-<U0659>     /xd9/x99 ARABIC ZWARAKAY
-<U065A>     /xd9/x9a ARABIC VOWEL SIGN SMALL V ABOVE
-<U065B>     /xd9/x9b ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-<U065C>     /xd9/x9c ARABIC VOWEL SIGN DOT BELOW
-<U065D>     /xd9/x9d ARABIC REVERSED DAMMA
-<U065E>     /xd9/x9e ARABIC FATHA WITH TWO DOTS
+<U0656>     /xd9/x96     ARABIC SUBSCRIPT ALEF
+<U0657>     /xd9/x97     ARABIC INVERTED DAMMA
+<U0658>     /xd9/x98     ARABIC MARK NOON GHUNNA
+<U0659>     /xd9/x99     ARABIC ZWARAKAY
+<U065A>     /xd9/x9a     ARABIC VOWEL SIGN SMALL V ABOVE
+<U065B>     /xd9/x9b     ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
+<U065C>     /xd9/x9c     ARABIC VOWEL SIGN DOT BELOW
+<U065D>     /xd9/x9d     ARABIC REVERSED DAMMA
+<U065E>     /xd9/x9e     ARABIC FATHA WITH TWO DOTS
 <U0660>     /xd9/xa0     ARABIC-INDIC DIGIT ZERO
 <U0661>     /xd9/xa1     ARABIC-INDIC DIGIT ONE
 <U0662>     /xd9/xa2     ARABIC-INDIC DIGIT TWO
@@ -1678,8 +1678,8 @@ CHARMAP
 <U06EB>     /xdb/xab     ARABIC EMPTY CENTRE HIGH STOP
 <U06EC>     /xdb/xac     ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
 <U06ED>     /xdb/xad     ARABIC SMALL LOW MEEM
-<U06EE>     /xdb/xae ARABIC LETTER DAL WITH INVERTED V
-<U06EF>     /xdb/xaf ARABIC LETTER REH WITH INVERTED V
+<U06EE>     /xdb/xae     ARABIC LETTER DAL WITH INVERTED V
+<U06EF>     /xdb/xaf     ARABIC LETTER REH WITH INVERTED V
 <U06F0>     /xdb/xb0     EXTENDED ARABIC-INDIC DIGIT ZERO
 <U06F1>     /xdb/xb1     EXTENDED ARABIC-INDIC DIGIT ONE
 <U06F2>     /xdb/xb2     EXTENDED ARABIC-INDIC DIGIT TWO
@@ -1695,7 +1695,7 @@ CHARMAP
 <U06FC>     /xdb/xbc     ARABIC LETTER GHAIN WITH DOT BELOW
 <U06FD>     /xdb/xbd     ARABIC SIGN SINDHI AMPERSAND
 <U06FE>     /xdb/xbe     ARABIC SIGN SINDHI POSTPOSITION MEN
-<U066F>     /xdb/xbf ARABIC LETTER DOTLESS QAF
+<U06FF>     /xdb/xbf     ARABIC LETTER HEH WITH INVERTED V
 <U0700>     /xdc/x80     SYRIAC END OF PARAGRAPH
 <U0701>     /xdc/x81     SYRIAC SUPRALINEAR FULL STOP
 <U0702>     /xdc/x82     SYRIAC SUBLINEAR FULL STOP
@@ -1740,9 +1740,9 @@ CHARMAP
 <U072A>     /xdc/xaa     SYRIAC LETTER RISH
 <U072B>     /xdc/xab     SYRIAC LETTER SHIN
 <U072C>     /xdc/xac     SYRIAC LETTER TAW
-<U072D>     /xdc/xad SYRIAC LETTER PERSIAN BHETH
-<U072E>     /xdc/xae SYRIAC LETTER PERSIAN GHAMAL
-<U072F>     /xdc/xaf SYRIAC LETTER PERSIAN DHALATH
+<U072D>     /xdc/xad     SYRIAC LETTER PERSIAN BHETH
+<U072E>     /xdc/xae     SYRIAC LETTER PERSIAN GHAMAL
+<U072F>     /xdc/xaf     SYRIAC LETTER PERSIAN DHALATH
 <U0730>     /xdc/xb0     SYRIAC PTHAHA ABOVE
 <U0731>     /xdc/xb1     SYRIAC PTHAHA BELOW
 <U0732>     /xdc/xb2     SYRIAC PTHAHA DOTTED
@@ -1770,40 +1770,39 @@ CHARMAP
 <U0748>     /xdd/x88     SYRIAC OBLIQUE LINE BELOW
 <U0749>     /xdd/x89     SYRIAC MUSIC
 <U074A>     /xdd/x8a     SYRIAC BARREKH
-<U074A>     /xdd/x8a SYRIAC BARREKH
-<U074D>     /xdd/x8d SYRIAC LETTER SOGDIAN ZHAIN
-<U074E>     /xdd/x8e SYRIAC LETTER SOGDIAN KHAPH
-<U074F>     /xdd/x8f SYRIAC LETTER SOGDIAN FE
-<U0750>     /xdd/x90 ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-<U0751>     /xdd/x91 ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-<U0752>     /xdd/x92 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-<U0753>     /xdd/x93 ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-<U0754>     /xdd/x94 ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-<U0755>     /xdd/x95 ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-<U0756>     /xdd/x96 ARABIC LETTER BEH WITH SMALL V
-<U0757>     /xdd/x97 ARABIC LETTER HAH WITH TWO DOTS ABOVE
-<U0758>     /xdd/x98 ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-<U0759>     /xdd/x99 ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-<U075A>     /xdd/x9a ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-<U075B>     /xdd/x9b ARABIC LETTER REH WITH STROKE
-<U075C>     /xdd/x9c ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-<U075D>     /xdd/x9d ARABIC LETTER AIN WITH TWO DOTS ABOVE
-<U075E>     /xdd/x9e ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-<U075F>     /xdd/x9f ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-<U0760>     /xdd/xa0 ARABIC LETTER FEH WITH TWO DOTS BELOW
-<U0761>     /xdd/xa1 ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-<U0762>     /xdd/xa2 ARABIC LETTER KEHEH WITH DOT ABOVE
-<U0763>     /xdd/xa3 ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-<U0764>     /xdd/xa4 ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-<U0765>     /xdd/xa5 ARABIC LETTER MEEM WITH DOT ABOVE
-<U0766>     /xdd/xa6 ARABIC LETTER MEEM WITH DOT BELOW
-<U0767>     /xdd/xa7 ARABIC LETTER NOON WITH TWO DOTS BELOW
-<U0768>     /xdd/xa8 ARABIC LETTER NOON WITH SMALL TAH
-<U0769>     /xdd/xa9 ARABIC LETTER NOON WITH SMALL V
-<U076A>     /xdd/xaa ARABIC LETTER LAM WITH BAR
-<U076B>     /xdd/xab ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-<U076C>     /xdd/xac ARABIC LETTER REH WITH HAMZA ABOVE
-<U076D>     /xdd/xad ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
+<U074D>     /xdd/x8d     SYRIAC LETTER SOGDIAN ZHAIN
+<U074E>     /xdd/x8e     SYRIAC LETTER SOGDIAN KHAPH
+<U074F>     /xdd/x8f     SYRIAC LETTER SOGDIAN FE
+<U0750>     /xdd/x90     ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
+<U0751>     /xdd/x91     ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
+<U0752>     /xdd/x92     ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
+<U0753>     /xdd/x93     ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
+<U0754>     /xdd/x94     ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
+<U0755>     /xdd/x95     ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
+<U0756>     /xdd/x96     ARABIC LETTER BEH WITH SMALL V
+<U0757>     /xdd/x97     ARABIC LETTER HAH WITH TWO DOTS ABOVE
+<U0758>     /xdd/x98     ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
+<U0759>     /xdd/x99     ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
+<U075A>     /xdd/x9a     ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
+<U075B>     /xdd/x9b     ARABIC LETTER REH WITH STROKE
+<U075C>     /xdd/x9c     ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
+<U075D>     /xdd/x9d     ARABIC LETTER AIN WITH TWO DOTS ABOVE
+<U075E>     /xdd/x9e     ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
+<U075F>     /xdd/x9f     ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+<U0760>     /xdd/xa0     ARABIC LETTER FEH WITH TWO DOTS BELOW
+<U0761>     /xdd/xa1     ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+<U0762>     /xdd/xa2     ARABIC LETTER KEHEH WITH DOT ABOVE
+<U0763>     /xdd/xa3     ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+<U0764>     /xdd/xa4     ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
+<U0765>     /xdd/xa5     ARABIC LETTER MEEM WITH DOT ABOVE
+<U0766>     /xdd/xa6     ARABIC LETTER MEEM WITH DOT BELOW
+<U0767>     /xdd/xa7     ARABIC LETTER NOON WITH TWO DOTS BELOW
+<U0768>     /xdd/xa8     ARABIC LETTER NOON WITH SMALL TAH
+<U0769>     /xdd/xa9     ARABIC LETTER NOON WITH SMALL V
+<U076A>     /xdd/xaa     ARABIC LETTER LAM WITH BAR
+<U076B>     /xdd/xab     ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
+<U076C>     /xdd/xac     ARABIC LETTER REH WITH HAMZA ABOVE
+<U076D>     /xdd/xad     ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
 <U0780>     /xde/x80     THAANA LETTER HAA
 <U0781>     /xde/x81     THAANA LETTER SHAVIYANI
 <U0782>     /xde/x82     THAANA LETTER NOONU
@@ -1854,65 +1853,65 @@ CHARMAP
 <U07AF>     /xde/xaf     THAANA OABOAFILI
 <U07B0>     /xde/xb0     THAANA SUKUN
 <U07B1>     /xde/xb1     THAANA LETTER NAA
-<U07C0>     /xdf/x80 NKO DIGIT ZERO
-<U07C1>     /xdf/x81 NKO DIGIT ONE
-<U07C2>     /xdf/x82 NKO DIGIT TWO
-<U07C3>     /xdf/x83 NKO DIGIT THREE
-<U07C4>     /xdf/x84 NKO DIGIT FOUR
-<U07C5>     /xdf/x85 NKO DIGIT FIVE
-<U07C6>     /xdf/x86 NKO DIGIT SIX
-<U07C7>     /xdf/x87 NKO DIGIT SEVEN
-<U07C8>     /xdf/x88 NKO DIGIT EIGHT
-<U07C9>     /xdf/x89 NKO DIGIT NINE
-<U07CA>     /xdf/x8a NKO LETTER A
-<U07CB>     /xdf/x8b NKO LETTER EE
-<U07CC>     /xdf/x8c NKO LETTER I
-<U07CD>     /xdf/x8d NKO LETTER E
-<U07CE>     /xdf/x8e NKO LETTER U
-<U07CF>     /xdf/x8f NKO LETTER OO
-<U07D0>     /xdf/x90 NKO LETTER O
-<U07D1>     /xdf/x91 NKO LETTER DAGBASINNA
-<U07D2>     /xdf/x92 NKO LETTER N
-<U07D3>     /xdf/x93 NKO LETTER BA
-<U07D4>     /xdf/x94 NKO LETTER PA
-<U07D5>     /xdf/x95 NKO LETTER TA
-<U07D6>     /xdf/x96 NKO LETTER JA
-<U07D7>     /xdf/x97 NKO LETTER CHA
-<U07D8>     /xdf/x98 NKO LETTER DA
-<U07D9>     /xdf/x99 NKO LETTER RA
-<U07DA>     /xdf/x9a NKO LETTER RRA
-<U07DB>     /xdf/x9b NKO LETTER SA
-<U07DC>     /xdf/x9c NKO LETTER GBA
-<U07DD>     /xdf/x9d NKO LETTER FA
-<U07DE>     /xdf/x9e NKO LETTER KA
-<U07DF>     /xdf/x9f NKO LETTER LA
-<U07E0>     /xdf/xa0 NKO LETTER NA WOLOSO
-<U07E1>     /xdf/xa1 NKO LETTER MA
-<U07E2>     /xdf/xa2 NKO LETTER NYA
-<U07E3>     /xdf/xa3 NKO LETTER NA
-<U07E4>     /xdf/xa4 NKO LETTER HA
-<U07E5>     /xdf/xa5 NKO LETTER WA
-<U07E6>     /xdf/xa6 NKO LETTER YA
-<U07E7>     /xdf/xa7 NKO LETTER NYA WOLOSO
-<U07E8>     /xdf/xa8 NKO LETTER JONA JA
-<U07E9>     /xdf/xa9 NKO LETTER JONA CHA
-<U07EA>     /xdf/xaa NKO LETTER JONA RA
-<U07EB>     /xdf/xab NKO COMBINING SHORT HIGH TONE
-<U07EC>     /xdf/xac NKO COMBINING SHORT LOW TONE
-<U07ED>     /xdf/xad NKO COMBINING SHORT RISING TONE
-<U07EE>     /xdf/xae NKO COMBINING LONG DESCENDING TONE
-<U07EF>     /xdf/xaf NKO COMBINING LONG HIGH TONE
-<U07F0>     /xdf/xb0 NKO COMBINING LONG LOW TONE
-<U07F1>     /xdf/xb1 NKO COMBINING LONG RISING TONE
-<U07F2>     /xdf/xb2 NKO COMBINING NASALIZATION MARK
-<U07F3>     /xdf/xb3 NKO COMBINING DOUBLE DOT ABOVE
-<U07F4>     /xdf/xb4 NKO HIGH TONE APOSTROPHE
-<U07F5>     /xdf/xb5 NKO LOW TONE APOSTROPHE
-<U07F6>     /xdf/xb6 NKO SYMBOL OO DENNEN
-<U07F7>     /xdf/xb7 NKO SYMBOL GBAKURUNEN
-<U07F8>     /xdf/xb8 NKO COMMA
-<U07F9>     /xdf/xb9 NKO EXCLAMATION MARK
-<U07FA>     /xdf/xba NKO LAJANYALAN
+<U07C0>     /xdf/x80     NKO DIGIT ZERO
+<U07C1>     /xdf/x81     NKO DIGIT ONE
+<U07C2>     /xdf/x82     NKO DIGIT TWO
+<U07C3>     /xdf/x83     NKO DIGIT THREE
+<U07C4>     /xdf/x84     NKO DIGIT FOUR
+<U07C5>     /xdf/x85     NKO DIGIT FIVE
+<U07C6>     /xdf/x86     NKO DIGIT SIX
+<U07C7>     /xdf/x87     NKO DIGIT SEVEN
+<U07C8>     /xdf/x88     NKO DIGIT EIGHT
+<U07C9>     /xdf/x89     NKO DIGIT NINE
+<U07CA>     /xdf/x8a     NKO LETTER A
+<U07CB>     /xdf/x8b     NKO LETTER EE
+<U07CC>     /xdf/x8c     NKO LETTER I
+<U07CD>     /xdf/x8d     NKO LETTER E
+<U07CE>     /xdf/x8e     NKO LETTER U
+<U07CF>     /xdf/x8f     NKO LETTER OO
+<U07D0>     /xdf/x90     NKO LETTER O
+<U07D1>     /xdf/x91     NKO LETTER DAGBASINNA
+<U07D2>     /xdf/x92     NKO LETTER N
+<U07D3>     /xdf/x93     NKO LETTER BA
+<U07D4>     /xdf/x94     NKO LETTER PA
+<U07D5>     /xdf/x95     NKO LETTER TA
+<U07D6>     /xdf/x96     NKO LETTER JA
+<U07D7>     /xdf/x97     NKO LETTER CHA
+<U07D8>     /xdf/x98     NKO LETTER DA
+<U07D9>     /xdf/x99     NKO LETTER RA
+<U07DA>     /xdf/x9a     NKO LETTER RRA
+<U07DB>     /xdf/x9b     NKO LETTER SA
+<U07DC>     /xdf/x9c     NKO LETTER GBA
+<U07DD>     /xdf/x9d     NKO LETTER FA
+<U07DE>     /xdf/x9e     NKO LETTER KA
+<U07DF>     /xdf/x9f     NKO LETTER LA
+<U07E0>     /xdf/xa0     NKO LETTER NA WOLOSO
+<U07E1>     /xdf/xa1     NKO LETTER MA
+<U07E2>     /xdf/xa2     NKO LETTER NYA
+<U07E3>     /xdf/xa3     NKO LETTER NA
+<U07E4>     /xdf/xa4     NKO LETTER HA
+<U07E5>     /xdf/xa5     NKO LETTER WA
+<U07E6>     /xdf/xa6     NKO LETTER YA
+<U07E7>     /xdf/xa7     NKO LETTER NYA WOLOSO
+<U07E8>     /xdf/xa8     NKO LETTER JONA JA
+<U07E9>     /xdf/xa9     NKO LETTER JONA CHA
+<U07EA>     /xdf/xaa     NKO LETTER JONA RA
+<U07EB>     /xdf/xab     NKO COMBINING SHORT HIGH TONE
+<U07EC>     /xdf/xac     NKO COMBINING SHORT LOW TONE
+<U07ED>     /xdf/xad     NKO COMBINING SHORT RISING TONE
+<U07EE>     /xdf/xae     NKO COMBINING LONG DESCENDING TONE
+<U07EF>     /xdf/xaf     NKO COMBINING LONG HIGH TONE
+<U07F0>     /xdf/xb0     NKO COMBINING LONG LOW TONE
+<U07F1>     /xdf/xb1     NKO COMBINING LONG RISING TONE
+<U07F2>     /xdf/xb2     NKO COMBINING NASALIZATION MARK
+<U07F3>     /xdf/xb3     NKO COMBINING DOUBLE DOT ABOVE
+<U07F4>     /xdf/xb4     NKO HIGH TONE APOSTROPHE
+<U07F5>     /xdf/xb5     NKO LOW TONE APOSTROPHE
+<U07F6>     /xdf/xb6     NKO SYMBOL OO DENNEN
+<U07F7>     /xdf/xb7     NKO SYMBOL GBAKURUNEN
+<U07F8>     /xdf/xb8     NKO COMMA
+<U07F9>     /xdf/xb9     NKO EXCLAMATION MARK
+<U07FA>     /xdf/xba     NKO LAJANYALAN
 <U0901>     /xe0/xa4/x81 DEVANAGARI SIGN CANDRABINDU
 <U0902>     /xe0/xa4/x82 DEVANAGARI SIGN ANUSVARA
 <U0903>     /xe0/xa4/x83 DEVANAGARI SIGN VISARGA
@@ -2354,6 +2353,7 @@ CHARMAP
 <U0B6E>     /xe0/xad/xae ORIYA DIGIT EIGHT
 <U0B6F>     /xe0/xad/xaf ORIYA DIGIT NINE
 <U0B70>     /xe0/xad/xb0 ORIYA ISSHAR
+<U0B71>     /xe0/xad/xb1 ORIYA LETTER WA
 <U0B82>     /xe0/xae/x82 TAMIL SIGN ANUSVARA
 <U0B83>     /xe0/xae/x83 TAMIL SIGN VISARGA
 <U0B85>     /xe0/xae/x85 TAMIL LETTER A
@@ -7841,6 +7841,17 @@ CHARMAP
 <U27BC>     /xe2/x9e/xbc WEDGE-TAILED RIGHTWARDS ARROW
 <U27BD>     /xe2/x9e/xbd HEAVY WEDGE-TAILED RIGHTWARDS ARROW
 <U27BE>     /xe2/x9e/xbe OPEN-OUTLINED RIGHTWARDS ARROW
+<U27C0>     /xe2/x9f/x80 THREE DIMENSIONAL ANGLE
+<U27C1>     /xe2/x9f/x81 WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+<U27C2>     /xe2/x9f/x82 PERPENDICULAR
+<U27C3>     /xe2/x9f/x83 OPEN SUBSET
+<U27C4>     /xe2/x9f/x84 OPEN SUPERSET
+<U27C5>     /xe2/x9f/x85 LEFT S-SHAPED BAG DELIMITER
+<U27C6>     /xe2/x9f/x86 RIGHT S-SHAPED BAG DELIMITER
+<U27C7>     /xe2/x9f/x87 OR WITH DOT INSIDE
+<U27C8>     /xe2/x9f/x88 REVERSE SOLIDUS PRECEDING SUBSET
+<U27C9>     /xe2/x9f/x89 SUPERSET PRECEDING SOLIDUS
+<U27CA>     /xe2/x9f/x8a VERTICAL BAR WITH HORIZONTAL STROKE
 <U27D0>     /xe2/x9f/x90 WHITE DIAMOND WITH CENTRED DOT
 <U27D1>     /xe2/x9f/x91 AND WITH DOT
 <U27D2>     /xe2/x9f/x92 ELEMENT OF OPENING UPWARDS
diff --git a/localedata/de_DE.in b/localedata/de_DE.in
index c56f401f64..b3b0dac29e 100644
--- a/localedata/de_DE.in
+++ b/localedata/de_DE.in
@@ -40,8 +40,8 @@ Fe (pl. of "Fu")              : feet
 Fussel                           : fluff
 fusseln                          : to wear of fluff
 feln                           : play footsie [under the table]
-fuen                            : to be based [on]
 Fssen                           : Fssen (town)
+fuen                            : to be based [on]
 Fen (dat. pl. of "Fu")        : [to the] feet
 in Massen                        : in large numbers
 in Maen                         : moderately
@@ -49,9 +49,9 @@ Masern                           : measels
 Mass. (Massachusetts)            : Massachusetts (state)
 Ma                              : measure
 Masse                            : mass
-Mass                            : (particular billard stroke)
 Mae (pl. of "Ma")              : measures
 me (pres. conj. of "messen")   : take measure (e.g. in indirect speech)
+Mass                            : (particular billard stroke)
 Massen-                          : mass; wholesale; bulk (in compound nouns)
 massig                           : massive
 mig                            : moderate; modest
@@ -60,8 +60,8 @@ Mi                              : Miss
 Passe                            : yoke (of dress)
 pass                            : over, gone
 Schlagerforderung                : claim, demanded in a pop song
-Schlagerfrderung                : promotion of pop music
 Schlgerforderung                : demand of a hooligan
+Schlagerfrderung                : promotion of pop music
 Schlgerfrderung                : promotion of hooliganism :-)
 Schurz                           : apron
 Schrze                          : apron
diff --git a/localedata/fr_FR.in b/localedata/fr_FR.in
new file mode 100644
index 0000000000..dd5c5330d5
--- /dev/null
+++ b/localedata/fr_FR.in
@@ -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
diff --git a/localedata/locales/am_ET b/localedata/locales/am_ET
index eb40a9eac2..5aa2ca110a 100644
--- a/localedata/locales/am_ET
+++ b/localedata/locales/am_ET
@@ -56,14 +56,14 @@ END LC_IDENTIFICATION
 
 LC_COLLATE
 %
-%  The ETHIOPIC script declaration must come first.
-%
-script <ETHIOPIC>
-%
 % Copy the template from ISO/IEC 14651
 %
 copy "iso14651_t1"
 %
+%  The ETHIOPIC script declaration must come first.
+%
+script <ETHIOPIC>
+%
 %  Correcting Unicode's linguistic ordering to the traditional.
 %
 collating-symbol <HOY>
diff --git a/localedata/locales/ber_DZ b/localedata/locales/ber_DZ
new file mode 100644
index 0000000000..c354a05234
--- /dev/null
+++ b/localedata/locales/ber_DZ
@@ -0,0 +1,311 @@
+comment_char %
+escape_char  /
+%
+% Amazigh Language Locale for Algeria (latin)
+% Source: 
+% Contact: Pablo Saratxaga
+% Email: <pablo@mandrakesoft.com>
+% Language: ber
+% Territory: DZ
+% Revision: 0.1
+% Date: 2002-04-16
+% Application: general
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title "Amazigh language locale for Algeria (latin)"
+source ""
+address ""
+contact "Pablo Saratxaga"
+email "pablo@mandrakesoft.com"
+tel ""
+fax ""
+language "Amazigh"
+territory "Algeria"
+revision "0.1"
+date "2002-04-16"
+
+category ber_DZ:2000;LC_IDENTIFICATION
+category ber_DZ:2000;LC_CTYPE
+category ber_DZ:2000;LC_COLLATE
+category ber_DZ:2000;LC_TIME
+category ber_DZ:2000;LC_NUMERIC
+category ber_DZ:2000;LC_PAPER
+category ber_DZ:2000;LC_TELEPHONE
+category ber_DZ:2000;LC_MEASUREMENT
+category ber_DZ:2000;LC_ADDRESS
+category ber_DZ:2000;LC_MONETARY
+category ber_DZ:2000;LC_MESSAGES
+
+END LC_IDENTIFICATION
+
+%
+% TODO: check LC_COLLATE
+% TODO: fix LC_TIME, LC_MONETARY, LC_MESSAGES, LC_NAME, LC_ADDRESS
+
+LC_COLLATE
+% The latin amazigh alphabet is:       
+% <a>, <eps>, <b>, <b*>, <c>, <c<>, <d>, <d-.>, <e>, <f>, <g>, <g*>, <g(>, 
+% <h>, <h-.>, <i>, <j>, <k>, <k*>, <l>, <m>, <n>, <q>, <q*>, <gam>, <gam*>,
+% <r>, <r-.>, <s>, <s-.>, <t>, <t-.>, <u>, <w>, <x>, <x*>, <y>, <z>, <z-.>
+%
+% arabic alphabet:
+
+copy "iso14651_t1"
+
+collating-symbol <eps>
+%collating-symbol <b*>
+collating-symbol <c<>
+collating-symbol <d-.>
+%collating-symbol <g*>
+collating-symbol <g(>
+collating-symbol <h-.>
+%collating-symbol <k*>
+%collating-symbol <q*>
+collating-symbol <gam>
+%collating-symbol <gam*>
+collating-symbol <r-.>
+collating-symbol <s-.>
+collating-symbol <t-.>
+%collating-symbol <x*>
+collating-symbol <z-.>
+
+reorder-after <a>
+<eps>
+%reorder-after <b>
+%<b*>
+reorder-after <c>
+<c<>
+reorder-after <d>
+<d-.>
+reorder-after <g>
+%<g*>
+<g(>
+reorder-after <h>
+<h-.>
+%reorder-after <k>
+%<k*>
+reorder-after <q>
+%<q*>
+<gam>
+%<gam*>
+reorder-after <r>
+<r-.>
+reorder-after <s>
+<s-.>
+reorder-after <t>
+<t-.>
+%reorder-after <x>
+%<x*>
+reorder-after <z>
+<z-.>
+
+reorder-after <U0061>
+<U025B> <eps>;<PCL>;<MIN>;IGNORE
+reorder-after <U0041>
+<U0190> <eps>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0063>
+<U010D> <c<>;<CAR>;<MIN>;IGNORE
+reorder-after <U0043>
+<U010C> <c<>;<CAR>;<CAP>;IGNORE
+
+reorder-after <U0064>
+<U1E0D> <d-.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0044>
+<U1E0C> <d-.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0067>
+<U011F> <g(>;<BRE>;<MIN>;IGNORE
+reorder-after <U0047>
+<U011E> <g(>;<BRE>;<CAP>;IGNORE
+
+reorder-after <U0068>
+<U1E25> <h-.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0048>
+<U1E24> <h-.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0071>
+<U0263> <gam>;<PCL>;<MIN>;IGNORE
+reorder-after <U0051>
+<U0194> <gam>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0072>
+<U1E5B> <r-.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0052>
+<U1E5A> <r-.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<U1E63> <s-.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0053>
+<U1E62> <s-.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0074>
+<U1E6D> <t-.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0054>
+<U1E6C> <t-.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U007A>
+<U1E93> <z-.>;<PCT>;<MIN>;IGNORE
+reorder-after <U005A>
+<U1E92> <z-.>;<PCT>;<CAP>;IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_CTYPE
+copy "i18n"
+
+translit_start
+include "translit_combining";""
+translit_end
+END LC_CTYPE
+
+LC_MESSAGES
+% FIXME: yes/no
+yesstr  "<U0062><U0259><U006C><U0069>"
+nostr   "<U0079><U006F><U0078>"
+yesexpr "<U005E><U005B><U0042><U0062><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U0059><U0079><U004E><U006E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+% This is the POSIX Locale definition the LC_MONETARY category.
+% These are generated based on XML base Locale difintion file
+% for IBM Class for Unicode/Java
+%
+int_curr_symbol       "<U0044><U005A><U0044><U0020>"
+currency_symbol       "<U062F><U002E><U062C><U002E>"
+mon_decimal_point     "<U002E>"
+mon_thousands_sep     "<U002C>"
+mon_grouping          3
+positive_sign         ""
+negative_sign         "<U002D>"
+int_frac_digits       3
+frac_digits           3
+p_cs_precedes         1
+p_sep_by_space        1
+n_cs_precedes         1
+n_sep_by_space        1
+p_sign_posn           1
+n_sign_posn           2
+%
+END LC_MONETARY
+
+
+LC_NUMERIC
+% This is the POSIX Locale definition for the LC_NUMERIC  category.
+%
+decimal_point          "<U002E>"
+thousands_sep          "<U002C>"
+grouping               3
+%
+END LC_NUMERIC
+
+% FIXME
+LC_TIME
+day     "<U0062><U0061><U007A><U0061><U0072><U0020><U0067><U00FC><U006E><U00FC>";/
+        "<U0062><U0069><U0072><U0069><U006E><U0063><U0069><U0020><U0067><U00FC><U006E>";/
+        "<U0069><U006B><U0069><U006E><U0063><U0069><U0020><U0067><U00FC><U006E>";/
+        "<U00FC><U00E7><U00FC><U006E><U0063><U00FC><U0020><U0067><U00FC><U006E>";/
+        "<U0064><U00F6><U0072><U0064><U00FC><U006E><U0063><U00FC><U0020><U0067><U00FC><U006E>";/
+        "<U0062><U0065><U015F><U0069><U006E><U0063><U0069><U0020><U0067><U00FC><U006E>";/
+        "<U0061><U006C><U0074><U0131><U006E><U0063><U0131><U0020><U0067><U00FC><U006E>"
+abday   "<U0062><U0061><U007A>";/
+        "<U0062><U0069><U0072>";/
+        "<U0069><U006B><U0069>";/
+        "<U00FC><U00E7><U00FC>";/
+        "<U0064><U00F6><U0072>";/
+        "<U0062><U0065><U015F>";/
+        "<U0061><U006C><U0074>"
+mon     "<U0079><U0061><U006E><U0076><U0061><U0072>";/
+        "<U0066><U0065><U0076><U0072><U0061><U006C>";/
+        "<U006D><U0061><U0072><U0074>";/
+        "<U0061><U0070><U0072><U0065><U006C>";/
+        "<U006D><U0061><U0079>";/
+        "<U0069><U0079><U0075><U006E>";/
+        "<U0069><U0079><U0075><U006C>";/
+        "<U0061><U0076><U0071><U0075><U0073><U0074>";/
+        "<U0073><U0065><U006E><U0074><U0079><U0061><U0062><U0072>";/
+        "<U006F><U006B><U0074><U0079><U0061><U0062><U0072>";/
+        "<U006E><U006F><U0079><U0061><U0062><U0072>";/
+        "<U0064><U0065><U006B><U0061><U0062><U0072>"
+abmon   "<U0059><U0061><U006E>";/
+        "<U0046><U0065><U0076>";/
+        "<U004D><U0061><U0072>";/
+        "<U0041><U0070><U0072>";/
+        "<U004D><U0061><U0079>";/
+        "<U0130><U0079><U006E>";/
+        "<U0130><U0079><U006C>";/
+        "<U0041><U0076><U0071>";/
+        "<U0053><U0065><U006E>";/
+        "<U004F><U006B><U0074>";/
+        "<U004E><U006F><U0079>";/
+        "<U0044><U0065><U006B>"
+d_t_fmt "<U0025><U0041><U002C><U0020><U0025><U0064><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054>"
+d_fmt     "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt     "<U0025><U0054>"
+am_pm     "";""
+t_fmt_ampm ""
+END LC_TIME
+
+LC_PAPER
+height      297
+width       210
+END LC_PAPER
+
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
+
+LC_NAME
+% This is the ISO_IEC TR14652 Locale definition for the
+% LC_NAME category.
+%
+name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/
+<U0025><U0067>"
+name_gen    "<U002D><U0073><U0061><U006E>"
+name_mr     "<U004D><U0072><U002E>"
+name_mrs    "<U004D><U0072><U0073><U002E>"
+name_miss   "<U004D><U0069><U0073><U0073><U002E>"
+name_ms     "<U004D><U0073><U002E>"
+
+END LC_NAME
+
+
+LC_ADDRESS
+% This is the ISO_IEC TR14652 Locale definition for the
+% LC_ADDRESS
+postal_fmt  "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/
+<U0025><U0062><U0025><U0065><U0025><U0072>"
+
+%country_name ""
+%country_post ""
+country_ab2 "<U0044><U005A>"
+country_ab3 "<U0044><U005A><U0041>"
+country_num 12
+%country_isbn ""
+%country_car ""
+lang_name "<U0074><U0061><U006D><U0061><U007A><U0069><U0067><U0068><U0074>"
+%lang_ab 
+lang_term "<U0062><U0065><U0072>"
+lang_lib "<U0062><U0065><U0072>"
+
+
+END LC_ADDRESS
+
+
+LC_TELEPHONE
+% This is the ISO_IEC TR14652 Locale definition for the
+%
+tel_int_fmt "<U002B><U0025><U0063><U0020><U003B><U0025><U0061><U0020>/
+<U003B><U0025><U006C>"
+int_prefix  "<U0032><U0031><U0033>"
+
+END LC_TELEPHONE
+
+
diff --git a/localedata/locales/ber_MA b/localedata/locales/ber_MA
new file mode 100644
index 0000000000..31ce069138
--- /dev/null
+++ b/localedata/locales/ber_MA
@@ -0,0 +1,229 @@
+comment_char %
+escape_char  /
+%
+% Amazigh Language Locale for Morocco (tifinagh)
+% Source:
+% Contact: Pablo Saratxaga
+% Email: <pablo@mandrakesoft.com>
+% Language: ber
+% Territory: MA
+% Revision: 0.1
+% Date: 2004-06-26
+% Application: general
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title "Amazigh language locale for Morocco (tifinagh)"
+source ""
+address ""
+contact "Pablo Saratxaga"
+email "pablo@mandrakesoft.com"
+tel ""
+fax ""
+language "Amazigh"
+territory "Morocco"
+revision "0.1"
+date "2002-06-26"
+
+category ber_MA:2000;LC_IDENTIFICATION
+category ber_MA:2000;LC_CTYPE
+category ber_MA:2000;LC_COLLATE
+category ber_MA:2000;LC_TIME
+category ber_MA:2000;LC_NUMERIC
+category ber_MA:2000;LC_PAPER
+category ber_MA:2000;LC_TELEPHONE
+category ber_MA:2000;LC_MEASUREMENT
+category ber_MA:2000;LC_ADDRESS
+category ber_MA:2000;LC_MONETARY
+category ber_MA:2000;LC_MESSAGES
+
+END LC_IDENTIFICATION
+
+%
+% TODO: fix LC_TIME, LC_MONETARY, LC_MESSAGES, LC_NAME, LC_ADDRESS
+
+LC_COLLATE
+
+copy "iso14651_t1"
+
+collating-symbol <TIF-GW>
+collating-symbol <TIF-KW>
+
+collating-element <TIF-G-W> from "<U2D33><U2D6F>"
+collating-element <TIF-K-W> from "<U2D3D><U2D6F>"
+
+reorder-after <TIF-G>
+<TIF-GW>
+reorder-after <TIF-K>
+<TIF-KW>
+reorder-after <U2D33>
+<TIF-G-W> <TIF-GW>;<PCT>;<MIN>;IGNORE
+reorder-after <U2D37>
+<U2D35> "<TIF-D><TIF-J>";"<LIG><PCL>";"<MIN><MIN>";IGNORE
+<U2D36> "<TIF-D><TIF-J>";"<LIG><LIG>";"<MIN><MIN>";IGNORE
+reorder-after <U2D3D>
+<TIF-K-W> <TIF-KW>;<PCT>;<MIN>;IGNORE
+reorder-after <U2D5C>
+<U2D5E> "<TIF-T><TIF-C>";"<LIG><LIG>";"<MIN><MIN>";IGNORE
+reorder-end
+
+% Moroccan sorting standard requires tifinagh to come
+% before latin script
+reorder-sections-after <SPECIAL>
+<TIFINAGH>
+reorder-sections-end
+END LC_COLLATE
+
+LC_CTYPE
+copy "i18n"
+
+translit_start
+include "translit_combining";""
+translit_end
+END LC_CTYPE
+
+LC_MESSAGES
+% FIXME: yes/no
+yesstr  "<U0062><U0259><U006C><U0069>"
+nostr   "<U0079><U006F><U0078>"
+yesexpr "<U005E><U005B><U0042><U0062><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U0059><U0079><U004E><U006E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+% This is the POSIX Locale definition the LC_MONETARY category.
+% These are generated based on XML base Locale difintion file
+% for IBM Class for Unicode/Java
+%
+int_curr_symbol       "<U004D><U0041><U0044><U0020>"
+currency_symbol       "<U2D37><U002E><U2D4E><U002E>"
+mon_decimal_point     "<U002E>"
+mon_thousands_sep     "<U002C>"
+mon_grouping          3
+positive_sign         ""
+negative_sign         "<U002D>"
+int_frac_digits       3
+frac_digits           3
+p_cs_precedes         1
+p_sep_by_space        1
+n_cs_precedes         1
+n_sep_by_space        1
+p_sign_posn           1
+n_sign_posn           2
+%
+END LC_MONETARY
+
+
+LC_NUMERIC
+% This is the POSIX Locale definition for the LC_NUMERIC  category.
+%
+decimal_point          "<U002E>"
+thousands_sep          "<U002C>"
+grouping               3
+%
+END LC_NUMERIC
+
+% FIXME
+LC_TIME
+day     "<U0062><U0061><U007A><U0061><U0072><U0020><U0067><U00FC><U006E><U00FC>";/
+        "<U0062><U0069><U0072><U0069><U006E><U0063><U0069><U0020><U0067><U00FC><U006E>";/
+        "<U0069><U006B><U0069><U006E><U0063><U0069><U0020><U0067><U00FC><U006E>";/
+        "<U00FC><U00E7><U00FC><U006E><U0063><U00FC><U0020><U0067><U00FC><U006E>";/
+        "<U0064><U00F6><U0072><U0064><U00FC><U006E><U0063><U00FC><U0020><U0067><U00FC><U006E>";/
+        "<U0062><U0065><U015F><U0069><U006E><U0063><U0069><U0020><U0067><U00FC><U006E>";/
+        "<U0061><U006C><U0074><U0131><U006E><U0063><U0131><U0020><U0067><U00FC><U006E>"
+abday   "<U0062><U0061><U007A>";/
+        "<U0062><U0069><U0072>";/
+        "<U0069><U006B><U0069>";/
+        "<U00FC><U00E7><U00FC>";/
+        "<U0064><U00F6><U0072>";/
+        "<U0062><U0065><U015F>";/
+        "<U0061><U006C><U0074>"
+mon     "<U0079><U0061><U006E><U0076><U0061><U0072>";/
+        "<U0066><U0065><U0076><U0072><U0061><U006C>";/
+        "<U006D><U0061><U0072><U0074>";/
+        "<U0061><U0070><U0072><U0065><U006C>";/
+        "<U006D><U0061><U0079>";/
+        "<U0069><U0079><U0075><U006E>";/
+        "<U0069><U0079><U0075><U006C>";/
+        "<U0061><U0076><U0071><U0075><U0073><U0074>";/
+        "<U0073><U0065><U006E><U0074><U0079><U0061><U0062><U0072>";/
+        "<U006F><U006B><U0074><U0079><U0061><U0062><U0072>";/
+        "<U006E><U006F><U0079><U0061><U0062><U0072>";/
+        "<U0064><U0065><U006B><U0061><U0062><U0072>"
+abmon   "<U0059><U0061><U006E>";/
+        "<U0046><U0065><U0076>";/
+        "<U004D><U0061><U0072>";/
+        "<U0041><U0070><U0072>";/
+        "<U004D><U0061><U0079>";/
+        "<U0130><U0079><U006E>";/
+        "<U0130><U0079><U006C>";/
+        "<U0041><U0076><U0071>";/
+        "<U0053><U0065><U006E>";/
+        "<U004F><U006B><U0074>";/
+        "<U004E><U006F><U0079>";/
+        "<U0044><U0065><U006B>"
+d_t_fmt "<U0025><U0041><U002C><U0020><U0025><U0064><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054>"
+d_fmt     "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt     "<U0025><U0054>"
+am_pm     "";""
+t_fmt_ampm ""
+END LC_TIME
+
+LC_PAPER
+height      297
+width       210
+END LC_PAPER
+
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
+
+LC_NAME
+% This is the ISO_IEC TR14652 Locale definition for the
+% LC_NAME category.
+%
+name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/
+<U0025><U0067>"
+name_gen    "<U002D><U0073><U0061><U006E>"
+name_mr     "<U004D><U0072><U002E>"
+name_mrs    "<U004D><U0072><U0073><U002E>"
+name_miss   "<U004D><U0069><U0073><U0073><U002E>"
+name_ms     "<U004D><U0073><U002E>"
+
+END LC_NAME
+
+
+LC_ADDRESS
+% This is the ISO_IEC TR14652 Locale definition for the
+% LC_ADDRESS
+postal_fmt  "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/
+<U0025><U0062><U0025><U0065><U0025><U0072>"
+
+%country_name ""
+%country_post ""
+country_ab2 "<U004D><U0041>"
+country_ab3 "<U004D><U0041><U0052>"
+country_num 504
+%country_isbn ""
+%country_car ""
+lang_name "<U2D5C><U2D30><U2D4E><U2D30><U2D49><U2D56><U2D5C>"
+% lang_ab
+lang_term "<U0062><U0065><U0072>"
+lang_lib "<U0062><U0065><U0072>"
+
+
+END LC_ADDRESS
+
+
+LC_TELEPHONE
+% This is the ISO_IEC TR14652 Locale definition for the
+%
+tel_int_fmt "<U002B><U0025><U0063><U0020><U003B><U0025><U0061><U0020>/
+<U003B><U0025><U006C>"
+int_prefix  "<U0032><U0031><U0032>"
+
+END LC_TELEPHONE
diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ
index 5d279187eb..059776a054 100644
--- a/localedata/locales/cs_CZ
+++ b/localedata/locales/cs_CZ
@@ -301,10 +301,10 @@ order_start forward;forward;forward;forward
 
 % <CAPITAL> or <SMALL> letters first:
 
-<CAPITAL>
-<CAPITAL-SMALL>
 <SMALL-CAPITAL>
 <SMALL>
+<CAPITAL>
+<CAPITAL-SMALL>
 
 % Accents:
 % Poad akcent: nahoe, dole, vzadu, vpedu, uvnit nebo pes psmeno
diff --git a/localedata/locales/da_DK b/localedata/locales/da_DK
index 6f792a6c9f..ce77e72071 100644
--- a/localedata/locales/da_DK
+++ b/localedata/locales/da_DK
@@ -66,6 +66,7 @@ collating-symbol <MIN-CAP>
 collating-symbol <ae>
 collating-symbol <o-stroke>
 collating-symbol <a-ring>
+collating-symbol <ETH>
 
 reorder-after <RES-1>
 <CAP>
@@ -208,6 +209,9 @@ t_fmt_ampm  ""
 date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
 <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
 <U0025><U005A><U0020><U0025><U0059>"
+week    7;19971201;4
+first_weekday 1
+first_workday 1
 END LC_TIME
 
 LC_MESSAGES
diff --git a/localedata/locales/en_GB b/localedata/locales/en_GB
index a42fb6a8d9..d984f42ca8 100644
--- a/localedata/locales/en_GB
+++ b/localedata/locales/en_GB
@@ -121,6 +121,9 @@ t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U00
 date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
 <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
 <U0025><U005A><U0020><U0025><U0059>"
+week    7;19971201;4
+first_weekday 1
+first_workday 1
 END LC_TIME
 
 LC_MESSAGES
diff --git a/localedata/locales/et_EE b/localedata/locales/et_EE
index e44e0c88c7..e4bfcd5570 100644
--- a/localedata/locales/et_EE
+++ b/localedata/locales/et_EE
@@ -2196,6 +2196,9 @@ t_fmt_ampm    ""
 date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
 <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
 <U0025><U005A><U0020><U0025><U0059>"
+week    7;19971201;4
+first_weekday 1
+first_workday 1
 END LC_TIME
 
 LC_MESSAGES
diff --git a/localedata/locales/fa_IR b/localedata/locales/fa_IR
index 8250d7b0dc..23e5dbd93b 100644
--- a/localedata/locales/fa_IR
+++ b/localedata/locales/fa_IR
@@ -101,6 +101,7 @@ collating-symbol <ALT1>
 collating-symbol <ALT2>
 
 collating-element <Alef-Madda> from "<U0627><U0653>"
+collating-element <Alef-Hamza> from "<U0627><U0654>"
 collating-element <Alef-HamzaBelow> from "<U0627><U0655>"
 collating-element <Waw-Hamza> from "<U0648><U0654>"
 collating-element <AlefMaksura-Hamza> from "<U0649><U0654>"
diff --git a/localedata/locales/fil_PH b/localedata/locales/fil_PH
new file mode 100644
index 0000000000..799a43c3de
--- /dev/null
+++ b/localedata/locales/fil_PH
@@ -0,0 +1,184 @@
+comment_char %
+escape_char  /
+%
+% Filipino Language Locale for Philippines
+% Source: 
+% Contact: Rene Torres, Pablo Saratxaga 
+% Email: <rgtorre@rocketmail.com>, <pablo@mandrakesoft.com>
+% Language: fil
+% Territory: PH
+% Revision: 0.5
+% Date: 2005-02-02
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title "Filipino language locale for Philippines"
+source "Rene Torres"
+address ""
+contact "Rene Torres, Pablo Saratxaga"
+email "rgtorre@rocketmail.com, pablo@mandrakesoft.com"
+tel ""
+fax ""
+language "Filipino"
+territory "Philippines"
+revision "0.5"
+date "2005-02-02"
+
+category ph_PH:2000;LC_IDENTIFICATION
+category ph_PH:2000;LC_CTYPE
+category ph_PH:2000;LC_COLLATE
+category ph_PH:2000;LC_TIME
+category ph_PH:2000;LC_NUMERIC
+category ph_PH:2000;LC_PAPER
+category ph_PH:2000;LC_TELEPHONE
+category ph_PH:2000;LC_MEASUREMENT
+category ph_PH:2000;LC_ADDRESS
+category ph_PH:2000;LC_MESSAGES
+category ph_PH:2000;LC_MONETARY
+
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "tl_PH"
+END LC_CTYPE
+
+LC_COLLATE
+copy "iso14651_t1"
+
+% a b c d e f g h i j k l m n n~ ng o p q r s t u v w x y z
+
+collating-symbol  <n-g-ph>
+collating-element <N-G> from "<U004E><U0047>"
+collating-element <n-g> from "<U006E><U0067>"
+collating-element <N-g> from "<U004E><U0067>"
+collating-element <n-G> from "<U006E><U0047>"
+collating-symbol  <ntilde>
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <n>
+<ntilde>
+<n-g-ph>
+
+reorder-after <U006E>
+<U00F1> <ntilde>;<TIL>;<MIN>;IGNORE
+<n-g>	<n-g-ph>;<PCT>;<MIN>;IGNORE
+<n-G>	<n-g-ph>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004E> 
+<U00D1> <ntilde>;<TIL>;<CAP>;IGNORE
+<N-G>	<n-g-ph>;<PCT>;<CAP>;IGNORE
+<N-g>	<n-g-ph>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_MONETARY
+int_curr_symbol         "<U0050><U0048><U0050><U0020>"
+currency_symbol         "<U0050><U0068><U0050>"
+mon_decimal_point       "<U002E>"
+mon_thousands_sep       "<U002C>"
+mon_grouping            3;3
+positive_sign           ""
+negative_sign           "<U002D>"
+int_frac_digits         2
+frac_digits             2
+p_cs_precedes           1
+p_sep_by_space          0
+n_cs_precedes           1
+n_sep_by_space          1
+p_sign_posn             1
+n_sign_posn             1
+END LC_MONETARY
+
+LC_NUMERIC
+copy "tl_PH"
+END LC_NUMERIC
+
+LC_TIME
+abday   "<U004C><U0069><U006E>";"<U004C><U0075><U006E>";/
+        "<U004D><U0061><U0072>";"<U004D><U0069><U0079>";/
+        "<U0048><U0075><U0077>";"<U0042><U0069><U0079>";/
+        "<U0053><U0061><U0062>"
+day     "<U004C><U0069><U006E><U0067><U0067><U006F>";/
+        "<U004C><U0075><U006E><U0065><U0073>";/
+        "<U004D><U0061><U0072><U0074><U0065><U0073>";/
+        "<U004D><U0069><U0079><U0065><U0072><U006B><U006F><U006C><U0065><U0073>";/
+        "<U0048><U0075><U0077><U0065><U0062><U0065><U0073>";/
+        "<U0042><U0069><U0079><U0065><U0072><U006E><U0065><U0073>";/
+        "<U0053><U0061><U0062><U0061><U0064><U006F>"
+abmon   "<U0045><U006E><U0065>";"<U0050><U0065><U0062>";/
+        "<U004D><U0061><U0072>";"<U0041><U0062><U0072>";/
+        "<U004D><U0061><U0079>";"<U0048><U0075><U006E>";/
+        "<U0048><U0075><U006C>";"<U0041><U0067><U006F>";/
+        "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
+        "<U004E><U006F><U0062>";"<U0044><U0069><U0073>"
+mon     "<U0045><U006E><U0065><U0072><U006F>";/
+        "<U0050><U0065><U0062><U0072><U0065><U0072><U006F>";/
+        "<U004D><U0061><U0072><U0073><U006F>";/
+        "<U0041><U0062><U0072><U0069><U006C>";/
+        "<U004D><U0061><U0079><U006F>";/
+        "<U0048><U0075><U006E><U0079><U006F>";/
+        "<U0048><U0075><U006C><U0079><U006F>";/
+        "<U0041><U0067><U006F><U0073><U0074><U006F>";/
+        "<U0053><U0065><U0070><U0074><U0069><U0079><U0065><U006D><U0062><U0072><U0065>";/
+        "<U004F><U006B><U0074><U0075><U0062><U0072><U0065>";/
+        "<U004E><U006F><U0062><U0069><U0079><U0065><U006D><U0062><U0072><U0065>";/
+        "<U0044><U0069><U0073><U0079><U0065><U006D><U0062><U0072><U0065>"
+%
+d_t_fmt     "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0072><U0020><U0025><U005A>"
+d_fmt       "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0079>"
+t_fmt       "<U0025><U0072>"
+am_pm       "<U004E><U002E><U0055><U002E>";"<U004E><U002E><U0048><U002E>"
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+END LC_TIME
+
+LC_MESSAGES
+yesstr      "<U006F><U006F>"
+nostr	    "<U0068><U0069><U006E><U0064><U0069>"
+yesexpr     "<U005B><U006F><U004F><U0079><U0059><U005D><U002E><U002A>"
+noexpr      "<U005B><U0068><U0048><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_PAPER
+height      297
+width       210
+END LC_PAPER
+
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
+
+LC_NAME
+% format: %d%t%g%t%m%t%f
+name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
+<U0025><U006D><U0025><U0074><U0025><U0066>"
+% empty
+name_gen    ""
+% "G."
+name_mr     "<U0047><U002E>"
+% "Gng."
+name_mrs    "<U0047><U006E><U0067><U002E>"
+% "Bb."
+name_ms     "<U0042><U0062><U002E>"
+% "Bb."
+name_miss   "<U0042><U0062><U002E>"
+END LC_NAME
+
+LC_ADDRESS
+copy "tl_PH"
+END LC_ADDRESS
+
+LC_TELEPHONE
+copy "tl_PH"
+END LC_TELEPHONE
+
diff --git a/localedata/locales/fr_FR b/localedata/locales/fr_FR
index e1de5da920..a9845fda11 100644
--- a/localedata/locales/fr_FR
+++ b/localedata/locales/fr_FR
@@ -87,7 +87,7 @@ END LC_MONETARY
 
 LC_NUMERIC
 decimal_point             "<U002C>"
-thousands_sep             ""
+thousands_sep             "<U0020>"
 grouping                  0;0
 END LC_NUMERIC
 
diff --git a/localedata/locales/fur_IT b/localedata/locales/fur_IT
new file mode 100644
index 0000000000..f9c4bd3fc9
--- /dev/null
+++ b/localedata/locales/fur_IT
@@ -0,0 +1,134 @@
+comment_char %
+escape_char  /
+%
+% Furlan Language Locale for Italy
+% Language: fur
+% Territory: IT
+% Revision: 0.3
+% Date: 2004-04-26
+% Users: general
+% Charset: ISO-8859-1
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title      "Furlan locale for Italy"
+source     ""
+address    ""
+contact    "Pablo Saratxaga"
+email      "pablo@mandrakesoft.com"
+tel        ""
+fax        ""
+language   "Furlan"
+territory  "Italy"
+revision   "0.3"
+date       "2004-04-26"
+%
+category  "fur_IT:2000";LC_IDENTIFICATION
+category  "fur_IT:2000";LC_CTYPE
+category  "fur_IT:2000";LC_COLLATE
+category  "fur_IT:2000";LC_TIME
+category  "fur_IT:2000";LC_NUMERIC
+category  "fur_IT:2000";LC_MONETARY
+category  "fur_IT:2000";LC_MESSAGES
+category  "fur_IT:2000";LC_PAPER
+category  "fur_IT:2000";LC_NAME
+category  "fur_IT:2000";LC_ADDRESS
+category  "fur_IT:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "it_IT"
+END LC_CTYPE
+
+LC_COLLATE
+copy "iso14651_t1"
+
+collating-symbol <c,>
+
+reorder-after <c>
+<c,>
+
+reorder-after <U0063>
+<U00E7> <c,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0043>
+<U00C7> <c,>;<CDI>;<CAP>;IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U0073><U0053><U006A><U004A><U006F><U004F><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy  "it_IT"
+END LC_MONETARY
+
+LC_NUMERIC
+copy  "it_IT"
+END LC_NUMERIC
+
+LC_TIME
+abday   "<U0044><U006F><U006D>";"<U004C><U0075><U006E>";/
+        "<U004D><U0061><U0072>";"<U004D><U0069><U0061>";/
+        "<U004A><U006F><U0069>";"<U0056><U0069><U006E>";/
+        "<U0053><U0061><U0062>"
+day     "<U0044><U006F><U006D><U0065><U006E><U0069><U0065>";/
+        "<U004C><U0075><U006E><U0069><U0073>";/
+        "<U004D><U0061><U0072><U0074><U0061><U0072><U0073>";/
+        "<U004D><U0069><U0061><U0072><U0063><U0075><U0073>";/
+        "<U004A><U006F><U0069><U0062><U0065>";/
+        "<U0056><U0069><U006E><U0061><U0072><U0073>";/
+        "<U0053><U0061><U0062><U0069><U0064><U0065>"
+abmon   "<U005A><U0065><U006E>";"<U0046><U0065><U0076>";/
+        "<U004D><U0061><U0072>";"<U0041><U0076><U0072>";/
+        "<U004D><U0061><U0069>";"<U004A><U0075><U0067>";/
+        "<U004C><U0075><U0069>";"<U0041><U0076><U006F>";/
+        "<U0053><U0065><U0074>";"<U004F><U0074><U0075>";/
+        "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
+mon     "<U005A><U0065><U006E><U00E2><U0072>";/
+        "<U0046><U0065><U0076><U0072><U00E2><U0072>";/
+        "<U004D><U0061><U0072><U00E7>";/
+        "<U0041><U0076><U0072><U00EE><U006C>";/
+        "<U004D><U0061><U0069>";/
+        "<U004A><U0075><U0067><U006E>";/
+        "<U004C><U0075><U0069>";/
+        "<U0041><U0076><U006F><U0073><U0074>";/
+        "<U0053><U0065><U0074><U0065><U006D><U0062><U0061><U0072>";/
+        "<U004F><U0074><U0075><U0062><U0061><U0072>";/
+        "<U004E><U006F><U0076><U0065><U006D><U0062><U0061><U0072>";/
+        "<U0044><U0065><U0063><U0065><U006D><U0062><U0061><U0072>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt   "<U0025><U0064><U002E><U0020><U0025><U006D><U002E><U0020><U0025><U0079>"
+t_fmt   "<U0025><U0054>"
+am_pm   "";""
+t_fmt_ampm ""
+date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0025><U005A><U0020><U0025><U0059>"
+week			7;19971201;4
+END LC_TIME
+
+LC_PAPER
+copy  "it_IT"
+END LC_PAPER
+
+LC_TELEPHONE
+copy  "it_IT"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy  "it_IT"
+END LC_MEASUREMENT
+
+LC_NAME
+copy  "it_IT"
+END LC_NAME
+
+LC_ADDRESS
+copy  "it_IT"
+END LC_ADDRESS
diff --git a/localedata/locales/fy_DE b/localedata/locales/fy_DE
new file mode 100644
index 0000000000..ec37f2f770
--- /dev/null
+++ b/localedata/locales/fy_DE
@@ -0,0 +1,131 @@
+comment_char %
+escape_char  /
+% charset "ISO_8859-1:1987"
+% Distribution and use is
+
+LC_IDENTIFICATION 
+title "Sater Frisian and North Frisian Locale for Germany"
+source "information from Kenneth Christiansen"
+address ""
+contact "Kenneth Christiansen, Pablo Saratxaga"
+email "kenneth@gnu.org, pablo@mandriva.com"
+tel ""
+% Fax
+language "fy"
+territory "DE"
+revision "0.1"
+date "2003-11-30"
+
+category i18n:2000;LC_IDENTIFICATION
+category i18n:2000;LC_COLLATE
+category i18n:2000;LC_CTYPE
+category i18n:2000;LC_MESSAGES
+category i18n:2000;LC_MONETARY
+category i18n:2000;LC_NUMERIC
+category i18n:2000;LC_TIME
+category i18n:2000;LC_PAPER
+category i18n:2000;LC_NAME
+category i18n:2000;LC_MEASUREMENT
+category i18n:2000;LC_TELEPHONE
+category i18n:2000;LC_ADDRESS
+
+% ISO/IEC 14652: Converted comments to LC_IDENTIFICATION
+%  added LC_PAPER, LC_MEASUREMENT, LC_TELEPHONE, LC_ADDRESS
+%  copied LC_MONETARY, LC_NUMERIC from de_DE for simplicity
+% -- mckinstry@computer.org, 2000-07-03
+
+END LC_IDENTIFICATION
+
+LC_ADDRESS
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+country_post  "<U0044>"
+country_ab2   "<U0044><U0045>"
+country_ab3   "<U0044><U0045><U0055>"
+country_car   "<U0044>"
+country_num 276
+country_isbn "3"
+% FIXME country_name in Low Saxon ?
+lang_name "Frisian"
+lang_ab "fy"
+% FIXME lang_term for Low Saxon ?
+% FIXME lang_lib for Low Saxon ?
+END LC_ADDRESS
+
+LC_COLLATE
+copy "iso14651_t1"
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_DK"
+END LC_CTYPE
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U006A><U004A><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy "de_DE"
+END LC_MONETARY
+
+LC_PAPER
+copy "de_DE"
+END LC_PAPER
+
+LC_NAME
+copy "de_DE"
+END LC_NAME
+
+LC_TELEPHONE
+copy "de_DE"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy "de_DE"
+END LC_MEASUREMENT
+
+LC_NUMERIC
+copy "de_DE"
+END LC_NUMERIC
+
+LC_TIME
+abday   "<U0053><U0064><U0067>";"<U004D><U0064><U0067>";/
+        "<U0044><U0073><U0067>";"<U004D><U0077><U006B>";/
+        "<U0044><U0064><U0067>";"<U0046><U0064><U0067>";/
+        "<U0053><U0077><U0064>"
+day     "<U0053><U0069><U006E><U006E><U0064><U0061><U0067>";/
+        "<U004D><U006F><U006E><U0064><U0061><U0067>";/
+        "<U0044><U0069><U006E><U0067><U0073><U0064><U0061><U0067>";/
+        "<U004D><U0065><U0064><U0064><U0077><U00E4><U0061><U006B><U006A>";/
+        "<U0044><U006F><U006E><U006E><U0061><U0064><U0061><U0067>";/
+        "<U0046><U0072><U0069><U0065><U0064><U0061><U0067>";/
+        "<U0053><U0069><U006E><U006E><U006F><U0077><U0065><U006E><U0064>"
+abmon   "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
+        "<U004D><U006F><U007A>";"<U0041><U0070><U0072>";/
+        "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
+        "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
+        "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
+        "<U004E><U006F><U0077>";"<U0044><U0065><U007A>"
+mon     "<U004A><U0061><U0075><U006E><U0075><U0077><U006F><U0061>";/
+        "<U0046><U0065><U0062><U0072><U0075><U0077><U006F><U0061>";/
+        "<U004D><U006F><U0061><U007A>";/
+        "<U0041><U0070><U0072><U0065><U006C><U006C>";/
+        "<U004D><U0061><U0069>";/
+        "<U004A><U0075><U006E><U0069>";/
+        "<U004A><U0075><U006C><U0069>";/
+        "<U0041><U0075><U0067><U0075><U0073><U0074>";/
+        "<U0053><U0065><U0070><U0074><U0061><U006D><U0062><U0061>";/
+        "<U004F><U006B><U0074><U006F><U0062><U0061>";/
+        "<U004E><U006F><U0077><U0061><U006D><U0062><U0061>";/
+        "<U0044><U0065><U007A><U0061><U006D><U0062><U0061>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U002E><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt   "<U0025><U0054>"
+am_pm   "";""
+t_fmt_ampm ""
+week	7;19971201;4
+END LC_TIME
diff --git a/localedata/locales/ha_NG b/localedata/locales/ha_NG
new file mode 100644
index 0000000000..1a7640dfde
--- /dev/null
+++ b/localedata/locales/ha_NG
@@ -0,0 +1,307 @@
+escape_char /
+comment_char %
+%
+% Hausa language locale for Nigeria
+% Source: 
+% Contact: Pablo Saratxaga
+% Email: pablo@mandriva.com
+% Language: ha
+% Territory: NG
+% Revision: 0.2
+% Date: 2006-02-01
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title      "Hausa locale for Nigeria"
+source     ""
+address    ""
+contact    ""
+email      "pablo@mandriva.com"
+tel        ""
+fax        ""
+language   "Hausa"
+territory  "Nigeria"
+revision   "0.2"
+date       "2006-02-01"
+%
+category  "ha_NG:2000";LC_IDENTIFICATION
+category  "ha_NG:2000";LC_CTYPE
+category  "ha_NG:2000";LC_COLLATE
+category  "ha_NG:2000";LC_TIME
+category  "ha_NG:2000";LC_NUMERIC
+category  "ha_NG:2000";LC_MONETARY
+category  "ha_NG:2000";LC_MESSAGES
+category  "ha_NG:2000";LC_PAPER
+category  "ha_NG:2000";LC_NAME
+category  "ha_NG:2000";LC_ADDRESS
+category  "ha_NG:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_COLLATE
+
+% Hausa uses the following extra letters:
+% bhook, dhook, khook, rtilde.
+% accent marks?%
+%
+% ' is used as glotal stop (should it count on sorting?)
+%
+% Hausa in Niger uses also yhook; implemented here too
+% so it sorts as 'y
+%
+% order: a, b, b+, c, d, d+, e, f, g, h, i, j, k, k+, l, m, n, o, p
+% q, r, r~, s, sh, t, ts, u, [v], w, [x], 'y, y, z
+
+copy "iso14651_t1"
+
+collating-symbol  <s-h-ha>
+collating-element <S-H> from "<U0053><U0048>"
+collating-element <s-h> from "<U0073><U0068>"
+collating-element <S-h> from "<U0053><U0068>"
+collating-element <s-H> from "<U0073><U0048>"
+collating-symbol  <t-s-ha>
+collating-element <T-S> from "<U0054><U0053>"
+collating-element <t-s> from "<U0074><U0073>"
+collating-element <T-s> from "<U0054><U0073>"
+collating-element <t-S> from "<U0074><U0053>"
+collating-symbol  <'-y-ha>
+collating-element <'1y> from "<U0027><U0079>"
+collating-element <'1Y> from "<U0027><U0059>"
+collating-element <'2y> from "<U2019><U0079>"
+collating-element <'2Y> from "<U2019><U0059>"
+collating-symbol  <rtilde> 
+collating-element <r?>  from "<U0072><U0303>"
+collating-element <R?>  from "<U0052><U0303>"
+collating-symbol  <bcurl>
+collating-symbol  <dcurl>
+collating-symbol  <kcurl>
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+ 
+reorder-after <MIN>
+<MIN-CAP>
+ 
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <b>
+<bcurl>
+reorder-after <d>
+<dcurl>
+reorder-after <k>
+<kcurl>
+reorder-after <r>
+<rtilde>
+<s>
+<s-h-ha>
+<t>
+<t-s-ha>
+reorder-after <x>
+<'-y-ha>
+
+reorder-after <U0062>
+<U0253> <bcurl>;<BAS>;<MIN>;IGNORE
+reorder-after <U0042>
+<U0181> <bcurl>;<BAS>;<CAP>;IGNORE
+
+reorder-after <U0064>
+<U0257> <dcurl>;<BAS>;<MIN>;IGNORE
+reorder-after <U0044>
+<U018A> <dcurl>;<BAS>;<CAP>;IGNORE
+
+reorder-after <U006B>
+<U0199> <kcurl>;<BAS>;<MIN>;IGNORE
+reorder-after <U004B>
+<U0198> <kcurl>;<BAS>;<CAP>;IGNORE
+
+reorder-after <U0072>
+<r?>    <rtilde>;<ACA>;<MIN>;IGNORE
+reorder-after <U0052>
+<R?>    <rtilde>;<ACA>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<s-h>   <s-h-ha>;<PCL>;<MIN>;IGNORE
+<s-H>   <s-h-ha>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0053>
+<S-H>   <s-h-ha>;<PCL>;<CAP>;IGNORE
+<S-h>   <s-h-ha>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U0074>
+<t-s>   <t-s-ha>;<PCL>;<MIN>;IGNORE
+<t-S>   <t-s-ha>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0054>
+<T-S>   <t-s-ha>;<PCL>;<CAP>;IGNORE
+<T-s>   <t-s-ha>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U0078>
+<'1y>   <'-y-ha>;<PCL>;<MIN>;IGNORE
+<'2y>   <'-y-ha>;<PCL>;<MIN>;IGNORE
+<U01B4> <'-y-ha>;<PCL>;<MIN>;IGNORE
+reorder-after <U0058>
+<'1Y>   <'-y-ha>;<PCL>;<CAP>;IGNORE
+<'2Y>   <'-y-ha>;<PCL>;<CAP>;IGNORE
+<U01B3> <'-y-ha>;<PCL>;<CAP>;IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_NG"
+END LC_CTYPE
+
+LC_MONETARY
+copy "en_NG"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "en_NG"
+END LC_NUMERIC
+
+LC_TELEPHONE
+copy "en_NG"
+END LC_TELEPHONE
+ 
+LC_TIME
+% Lah, Lit, Tal, Lar, Alh, Jum, Asa
+% maybe "Lhd" "Lrb" => "Lh"/"Lb" on 2letter tables?
+abday       "<U004C><U0061><U0068>";"<U004C><U0069><U0074>";/
+            "<U0054><U0061><U006C>";"<U004C><U0061><U0072>";/
+            "<U0041><U006C><U0068>";"<U004A><U0075><U006D>";/
+            "<U0041><U0073><U0061>"
+% Lahadi, Litini, Talata, Laraba, Alhamis, Juma'a, Asabar
+day         "<U004C><U0061><U0068><U0061><U0064><U0069>";/
+            "<U004C><U0069><U0074><U0069><U006E><U0069>";/
+            "<U0054><U0061><U006C><U0061><U0074><U0061>";/
+            "<U004C><U0061><U0072><U0061><U0062><U0061>";/
+            "<U0041><U006C><U0068><U0061><U006D><U0069><U0073>";/
+            "<U004A><U0075><U006D><U0061><U0027><U0061>";/
+            "<U0041><U0073><U0061><U0062><U0061><U0072>"
+% Jan, Fab, Mar, Afr, May, Yun, Yul, Agu, Sat, Okt, Nuw, Dis
+abmon       "<U004A><U0061><U006E>";"<U0046><U0061><U0062>";/
+            "<U004D><U0061><U0072>";"<U0041><U0066><U0072>";/
+            "<U004D><U0061><U0079>";"<U0059><U0075><U006E>";/
+            "<U0059><U0075><U006C>";"<U0041><U0067><U0075>";/
+            "<U0053><U0061><U0074>";"<U004F><U006B><U0074>";/
+            "<U004E><U0075><U0077>";"<U0044><U0069><U0073>"
+% Janairu, Fabrairu, Maris, Afrilu, Mayu, Yuni, 
+% Yuli, Agusta, Satumba, Oktoba, Nuwamba, Disamba
+mon         "<U004A><U0061><U006E><U0061><U0069><U0072><U0075>";/
+            "<U0046><U0061><U0062><U0072><U0061><U0069><U0072><U0075>";/
+            "<U004D><U0061><U0072><U0069><U0073>";/
+            "<U0041><U0066><U0072><U0069><U006C><U0075>";/
+            "<U004D><U0061><U0079><U0075>";/
+            "<U0059><U0075><U006E><U0069>";/
+            "<U0059><U0075><U006C><U0069>";/
+            "<U0041><U0067><U0075><U0073><U0074><U0061>";/
+            "<U0053><U0061><U0074><U0075><U006D><U0062><U0061>";/
+            "<U004F><U006B><U0074><U006F><U0062><U0061>";/
+            "<U004E><U0075><U0077><U0061><U006D><U0062><U0061>";/
+            "<U0044><U0069><U0073><U0061><U006D><U0062><U0061>"
+% ranar %A, %d ga %B cikin %Y %r %Z
+d_t_fmt     "<U0072><U0061><U006E><U0061><U0072><U0020><U0025><U0041><U002C><U0020><U0025><U0064><U0020><U0067><U0061><U0020><U0025><U0042><U0020><U0063><U0069><U006B><U0069><U006E><U0020><U0025><U0072><U0020><U0025><U005A>"
+d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+t_fmt       "<U0025><U0072>"
+am_pm       "<U0041><U004D>";"<U0050><U004D>"
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+END LC_TIME
+
+% FIXME
+LC_MESSAGES
+% yes: Toh, Ii
+yesstr      "<U0054><U006F><U0068>"
+% ^[TtIiYy].*
+yesexpr     "<U005E><U005B><U0054><U0074><U0069><U0049><U0059><U0079><U005D><U002E><U002A>"
+% no: Babu, A'a
+nostr       "<U0042><U0061><U0062><U0075>"
+% ^[BbAaNn].*
+noexpr      "<U005E><U005B><U0062><U0042><U0061><U0041><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_PAPER
+copy "en_NG"
+END LC_PAPER
+
+LC_MEASUREMENT
+copy "en_NG"
+END LC_MEASUREMENT
+
+LC_NAME
+% FIXME
+copy "en_NG"
+END LC_NAME
+
+% FIXME
+LC_ADDRESS
+% Representation of postal addresses (minus the addressee's name) in South
+% Africa. (Ignored for now)
+% "%f%N%a%N%d%N%b%N%s %h %e %r%N%%z %T%N%c%N", which gives -
+%
+% "firm name",
+% "end of line",
+% "C/O address",
+% "end of line",
+% "department name",
+% "Building name",
+% "end of line",
+% "street or block name",
+% "space",
+% "house number or designation",
+% "space",
+% "floor number",
+% "space",
+% "room number, door designation",
+% "end of line",
+% "postal code",
+% "space",
+% "town, city",
+% "end of line",
+% "country designation for the <country_post> keyword",
+% "end of line
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+
+% Country name in Hausa - "Nigeria"
+country_name  "<U004E><U0069><U0067><U0065><U0072><U0069><U0061>"
+
+% Language name in Hausa - "Hausa"
+lang_name     "<U0048><U0061><U0075><U0073><U0061>"
+
+% CEPT MAILCODES are suggested
+% Alternatively use the code found on your countries postal item tracking number
+% "NG"?
+%country_post   "<U004E><U0047>"
+
+% UN Geneve 1949:68 Distinguishing signs of vehicles in international traffic
+% http://www.unece.org/trans/conventn/Distsigns_Sept2003.pdf
+% "WAN"
+country_car   "<U0057><U0041><U004E>"
+
+% ISO 2108
+% http://www.isbn-international.org/
+country_isbn  978
+
+% ISO 639 language abbreviations:
+% 639-1 2 letter, 639-2 3 letter terminology
+% http://www.loc.gov/standards/iso639-2/englagn.html
+% "ha", "hau"
+lang_ab       "<U0068><U0061>"
+lang_term     "<U0068><U0061><U0075>"
+lang_lib      "<U0068><U0061><U0075>"
+
+% ISO 3166 country number and 2 and 3 letter abreviations
+% http://www.unicode.org/onlinedat/countries.html
+% "NG", "NGA"
+country_ab2   "<U004E><U0047>"
+country_ab3   "<U004E><U0047><U0041>"
+country_num   566
+
+END LC_ADDRESS
+
diff --git a/localedata/locales/ig_NG b/localedata/locales/ig_NG
new file mode 100644
index 0000000000..ed871ec563
--- /dev/null
+++ b/localedata/locales/ig_NG
@@ -0,0 +1,499 @@
+escape_char /
+comment_char %
+%
+% Igbo language locale for Nigeria
+% Source: 
+% Contact: Pablo Saratxaga
+% Email: pablo@mandriva.com
+% Language: ig
+% Territory: NG
+% Revision: 0.2
+% Date: 2005-12-14
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title      "Igbo locale for Nigeria"
+source     ""
+address    ""
+contact    ""
+email      "pablo@mandriva.com"
+tel        ""
+fax        ""
+language   "Igbo"
+territory  "Nigeria"
+revision   "0.2"
+date       "2005-12-14"
+%
+category  "ig_NG:2000";LC_IDENTIFICATION
+category  "ig_NG:2000";LC_CTYPE
+category  "ig_NG:2000";LC_COLLATE
+category  "ig_NG:2000";LC_TIME
+category  "ig_NG:2000";LC_NUMERIC
+category  "ig_NG:2000";LC_MONETARY
+category  "ig_NG:2000";LC_MESSAGES
+category  "ig_NG:2000";LC_PAPER
+category  "ig_NG:2000";LC_NAME
+category  "ig_NG:2000";LC_ADDRESS
+category  "ig_NG:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_COLLATE
+
+% Igbo uses the following extra letters:
+% idotbelow, odotbelow, udotbelow, nabovedot
+% plus acute and grave combining marks over vowels and n
+% of those, the following have precombined forms:
+% aacute, eacute, iacute, oacute, uacute, nacute
+% agrave, egrave, igrave, ograve, ugrave, ngrave
+%
+% order: a, b, [c], ch, d, e, f, g, gb, gh, gw, h, i, i., j, k, kp, kw, 
+% l, m, n, n., nw, ny, o, o., p, [q], r, s, sh, t, u, u., v, w, [x], y, z
+
+copy "iso14651_t1"
+
+collating-symbol  <c-h-ig>
+collating-element <C-H> from "<U0043><U0048>"
+collating-element <c-h> from "<U0063><U0068>"
+collating-element <C-h> from "<U0043><U0068>"
+collating-element <c-H> from "<U0063><U0048>"
+collating-symbol  <g-b-ig>
+collating-element <G-B> from "<U0047><U0042>"
+collating-element <g-b> from "<U0067><U0062>"
+collating-element <G-b> from "<U0047><U0062>"
+collating-element <g-B> from "<U0067><U0042>"
+collating-symbol  <g-h-ig>
+collating-element <G-H> from "<U0047><U0048>"
+collating-element <g-h> from "<U0067><U0068>"
+collating-element <G-h> from "<U0047><U0068>"
+collating-element <g-H> from "<U0067><U0048>"
+collating-symbol  <g-w-ig>
+collating-element <G-W> from "<U0047><U0057>"
+collating-element <g-w> from "<U0067><U0077>"
+collating-element <G-w> from "<U0047><U0077>"
+collating-element <g-W> from "<U0067><U0057>"
+collating-symbol  <k-p-ig>
+collating-element <K-P> from "<U004B><U0050>"
+collating-element <k-p> from "<U006B><U0070>"
+collating-element <K-p> from "<U004B><U0070>"
+collating-element <k-P> from "<U006B><U0050>"
+collating-symbol  <k-w-ig>
+collating-element <K-W> from "<U004B><U0057>"
+collating-element <k-w> from "<U006B><U0077>"
+collating-element <K-w> from "<U004B><U0077>"
+collating-element <k-W> from "<U006B><U0057>"
+collating-symbol  <n-w-ig>
+collating-element <N-W> from "<U004E><U0057>"
+collating-element <n-w> from "<U006E><U0077>"
+collating-element <N-w> from "<U004E><U0077>"
+collating-element <n-W> from "<U006E><U0057>"
+collating-symbol  <n-y-ig>
+collating-element <N-Y> from "<U004E><U0059>"
+collating-element <n-y> from "<U006E><U0079>"
+collating-element <N-y> from "<U004E><U0079>"
+collating-element <n-Y> from "<U006E><U0059>"
+collating-symbol  <ibelowdot>
+collating-element <I_>  from "<U0049><U0323>"
+collating-element <i_>  from "<U0069><U0323>"
+collating-element <I_'> from "<U0049><U0323><U0301>"
+collating-element <i_'> from "<U0069><U0323><U0301>"
+collating-element <I_`> from "<U0049><U0323><U0300>"
+collating-element <i_`> from "<U0069><U0323><U0300>"
+collating-element <I_2'> from "<U1ECA><U0301>"
+collating-element <i_2'> from "<U1ECB><U0301>"
+collating-element <I_2`> from "<U1ECA><U0300>"
+collating-element <i_2`> from "<U1ECB><U0300>"
+collating-symbol  <obelowdot>
+collating-element <O_>  from "<U004F><U0323>"
+collating-element <o_>  from "<U006F><U0323>"
+collating-element <O_'> from "<U004F><U0323><U0301>"
+collating-element <o_'> from "<U006F><U0323><U0301>"
+collating-element <O_`> from "<U004F><U0323><U0300>"
+collating-element <o_`> from "<U006F><U0323><U0300>"
+collating-element <O_2'> from "<U1ECC><U0301>"
+collating-element <o_2'> from "<U1ECD><U0301>"
+collating-element <O_2`> from "<U1ECC><U0300>"
+collating-element <o_2`> from "<U1ECD><U0300>"
+collating-symbol  <ubelowdot>
+collating-element <U_>  from "<U0055><U0323>"
+collating-element <u_>  from "<U0075><U0323>"
+collating-element <U_'> from "<U0055><U0323><U0301>"
+collating-element <u_'> from "<U0075><U0323><U0301>"
+collating-element <U_`> from "<U0075><U0323><U0300>"
+collating-element <u_`> from "<U0055><U0323><U0300>"
+collating-element <U_2'> from "<U1EE4><U0301>"
+collating-element <u_2'> from "<U1EE5><U0301>"
+collating-element <U_2`> from "<U1EE4><U0300>"
+collating-element <u_2`> from "<U1EE5><U0300>"
+collating-symbol  <nabovedot>
+collating-element <N.> from "<U004E><U0307>"
+collating-element <n.> from "<U006E><U0307>"
+collating-symbol  <aacute>
+collating-element <A'> from "<U0041><U0301>"
+collating-element <a'> from "<U0061><U0301>"
+collating-symbol  <eacute>
+collating-element <E'> from "<U0045><U0301>"
+collating-element <e'> from "<U0065><U0301>"
+collating-symbol  <iacute>
+collating-element <I'> from "<U0049><U0301>"
+collating-element <i'> from "<U0069><U0301>"
+collating-symbol  <oacute>
+collating-element <O'> from "<U004F><U0301>"
+collating-element <o'> from "<U006F><U0301>"
+collating-symbol  <uacute>
+collating-element <U'> from "<U0055><U0301>"
+collating-element <u'> from "<U0075><U0301>"
+collating-symbol  <agrave>
+collating-element <A`> from "<U0041><U0300>"
+collating-element <a`> from "<U0061><U0300>"
+collating-symbol  <egrave>
+collating-element <E`> from "<U0045><U0300>"
+collating-element <e`> from "<U0065><U0300>"
+collating-symbol  <igrave>
+collating-element <I`> from "<U0049><U0300>"
+collating-element <i`> from "<U0069><U0300>"
+collating-symbol  <ograve>
+collating-element <O`> from "<U004F><U0300>"
+collating-element <o`> from "<U006F><U0300>"
+collating-symbol  <ugrave>
+collating-element <U`> from "<U0055><U0300>"
+collating-element <u`> from "<U0075><U0300>"
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+ 
+reorder-after <MIN>
+<MIN-CAP>
+ 
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <c>
+<c-h-ig>
+reorder-after <g>
+<g-b-ig>
+<g-h-ig>
+<g-w-ig>
+reorder-after <i>
+<ibelowdot>
+reorder-after <k>
+<k-p-ig>
+<k-w-ig>
+reorder-after <n>
+<nabovedot>
+<n-w-ig>
+<n-y-ig>
+<o>
+<obelowdot>
+reorder-after <s>
+<s-h-ig>
+reorder-after <u>
+<ubelowdot>
+
+reorder-after <U0061>
+<U00E1> <a>;<ACA>;<MIN>;IGNORE
+<a'>    <a>;<ACA>;<MIN>;IGNORE
+<U00E0> <a>;<GRA>;<MIN>;IGNORE
+<a`>    <a>;<GRA>;<MIN>;IGNORE
+reorder-after <U0041>
+<U00C1> <a>;<ACA>;<CAP>;IGNORE
+<A'>    <a>;<ACA>;<CAP>;IGNORE
+<U00C0> <a>;<GRA>;<CAP>;IGNORE
+<A`>    <a>;<GRA>;<CAP>;IGNORE
+
+reorder-after <U0063>
+<c-h>   <c-h-ig>;<PCL>;<MIN>;IGNORE
+<c-H>   <c-h-ig>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0043>
+<C-H>   <c-h-ig>;<PCL>;<CAP>;IGNORE
+<C-h>   <c-h-ig>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U0065>
+<U00E9> <e>;<ACA>;<MIN>;IGNORE
+<e'>    <e>;<ACA>;<MIN>;IGNORE
+<U00E8> <e>;<GRA>;<MIN>;IGNORE
+<e`>    <e>;<GRA>;<MIN>;IGNORE
+reorder-after <U0045>
+<U00C9> <e>;<ACA>;<CAP>;IGNORE
+<E'>    <e>;<ACA>;<CAP>;IGNORE
+<U00C8> <e>;<GRA>;<CAP>;IGNORE
+<E`>    <e>;<GRA>;<CAP>;IGNORE
+
+reorder-after <U0067>
+<g-b>   <g-b-ig>;<PCL>;<MIN>;IGNORE
+<g-B>   <g-b-ig>;<PCL>;<MIN-CAP>;IGNORE
+<g-h>   <g-h-ig>;<PCL>;<MIN>;IGNORE
+<g-H>   <g-h-ig>;<PCL>;<MIN-CAP>;IGNORE
+<g-w>   <g-w-ig>;<PCL>;<MIN>;IGNORE
+<g-W>   <g-w-ig>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0047>
+<G-B>   <g-b-ig>;<PCL>;<CAP>;IGNORE
+<G-b>   <g-b-ig>;<PCL>;<CAP-MIN>;IGNORE
+<G-H>   <g-h-ig>;<PCL>;<CAP>;IGNORE
+<G-h>   <g-h-ig>;<PCL>;<CAP-MIN>;IGNORE
+<G-W>   <g-w-ig>;<PCL>;<CAP>;IGNORE
+<G-w>   <g-w-ig>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U0069>
+<U00ED> <i>;<ACA>;<MIN>;IGNORE
+<i'>    <i>;<ACA>;<MIN>;IGNORE
+<U00EC> <i>;<GRA>;<MIN>;IGNORE
+<i`>    <i>;<GRA>;<MIN>;IGNORE
+<U1ECB> <ibelowdot>;<BAS>;<MIN>;IGNORE
+<i_>    <ibelowdot>;<BAS>;<MIN>;IGNORE
+<i_'>   <ibelowdot>;<ACA>;<MIN>;IGNORE
+<i_2'>  <ibelowdot>;<ACA>;<MIN>;IGNORE
+<i_`>   <ibelowdot>;<GRA>;<MIN>;IGNORE
+<i_2`>  <ibelowdot>;<GRA>;<MIN>;IGNORE
+reorder-after <U0049>
+<U00CD> <i>;<ACA>;<CAP>;IGNORE
+<I'>    <i>;<ACA>;<CAP>;IGNORE
+<U00CC> <i>;<GRA>;<CAP>;IGNORE
+<I`>    <i>;<GRA>;<CAP>;IGNORE
+<U1ECA> <ibelowdot>;<BAS>;<CAP>;IGNORE
+<I_>    <ibelowdot>;<CAP>;<CAP>;IGNORE
+<I_'>   <ibelowdot>;<ACA>;<CAP>;IGNORE
+<I_2'>  <ibelowdot>;<ACA>;<CAP>;IGNORE
+<I_`>   <ibelowdot>;<GRA>;<CAP>;IGNORE
+<I_2`>  <ibelowdot>;<GRA>;<CAP>;IGNORE
+
+reorder-after <U0067>
+<k-p>   <k-p-ig>;<PCL>;<MIN>;IGNORE
+<k-P>   <k-p-ig>;<PCL>;<MIN-CAP>;IGNORE
+<k-w>   <k-w-ig>;<PCL>;<MIN>;IGNORE
+<k-W>   <k-w-ig>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0047>
+<K-P>   <k-p-ig>;<PCL>;<CAP>;IGNORE
+<K-p>   <k-p-ig>;<PCL>;<CAP-MIN>;IGNORE
+<K-W>   <k-w-ig>;<PCL>;<CAP>;IGNORE
+<K-w>   <k-w-ig>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U006E>
+<U1E45> <nabovedot>;<BAS>;<MIN>;IGNORE
+<n.>    <nabovedot>;<BAS>;<MIN>;IGNORE
+<n-w>   <n-w-ig>;<PCL>;<MIN>;IGNORE
+<n-W>   <n-w-ig>;<PCL>;<MIN-CAP>;IGNORE
+<n-y>   <n-y-ig>;<PCL>;<MIN>;IGNORE
+<n-Y>   <n-y-ig>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U004E>
+<U1E44> <nabovedot>;<BAS>;<CAP>;IGNORE
+<N.>    <nabovedot>;<BAS>;<CAP>;IGNORE
+<N-W>   <n-w-ig>;<PCL>;<CAP>;IGNORE
+<N-w>   <n-w-ig>;<PCL>;<CAP-MIN>;IGNORE
+<N-Y>   <n-y-ig>;<PCL>;<CAP>;IGNORE
+<N-y>   <n-y-ig>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U006F>
+<U00F3> <o>;<ACA>;<MIN>;IGNORE
+<o'>    <o>;<ACA>;<MIN>;IGNORE
+<U00F2> <o>;<GRA>;<MIN>;IGNORE
+<o`>    <o>;<GRA>;<MIN>;IGNORE
+<U1ECD> <obelowdot>;<BAS>;<MIN>;IGNORE
+<o_>    <obelowdot>;<BAS>;<MIN>;IGNORE
+<o_'>   <obelowdot>;<ACA>;<MIN>;IGNORE
+<o_2'>  <obelowdot>;<ACA>;<MIN>;IGNORE
+<o_`>   <obelowdot>;<GRA>;<MIN>;IGNORE
+<o_2`>  <obelowdot>;<GRA>;<MIN>;IGNORE
+reorder-after <U004F>
+<U00D3> <o>;<ACA>;<CAP>;IGNORE
+<O'>    <o>;<ACA>;<CAP>;IGNORE
+<U00D2> <o>;<GRA>;<CAP>;IGNORE
+<O`>    <o>;<GRA>;<CAP>;IGNORE
+<U1ECC> <obelowdot>;<BAS>;<CAP>;IGNORE
+<O_>    <obelowdot>;<BAS>;<CAP>;IGNORE
+<O_'>   <obelowdot>;<ACA>;<CAP>;IGNORE
+<O_2'>  <obelowdot>;<ACA>;<CAP>;IGNORE
+<O_`>   <obelowdot>;<GRA>;<CAP>;IGNORE
+<O_2`>  <obelowdot>;<GRA>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<s-h>   <s-h-ig>;<PCL>;<MIN>;IGNORE
+<s-H>   <s-h-ig>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0053>
+<S-H>   <s-h-ig>;<PCL>;<CAP>;IGNORE
+<S-h>   <s-h-ig>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U0075>
+<U00FA> <u>;<ACA>;<MIN>;IGNORE
+<u'>    <u>;<ACA>;<MIN>;IGNORE
+<U00F9> <u>;<GRA>;<MIN>;IGNORE
+<u`>    <u>;<GRA>;<MIN>;IGNORE
+<U1EE5> <ubelowdot>;<BAS>;<MIN>;IGNORE
+<u_>    <ubelowdot>;<BAS>;<MIN>;IGNORE
+<u_'>   <ubelowdot>;<ACA>;<MIN>;IGNORE
+<u_2'>  <ubelowdot>;<ACA>;<MIN>;IGNORE
+<u_`>   <ubelowdot>;<GRA>;<MIN>;IGNORE
+<u_2`>  <ubelowdot>;<GRA>;<MIN>;IGNORE
+reorder-after <U0055>
+<U00DA> <u>;<ACA>;<CAP>;IGNORE
+<U'>    <u>;<ACA>;<CAP>;IGNORE
+<U00D9> <u>;<GRA>;<CAP>;IGNORE
+<U`>    <u>;<GRA>;<CAP>;IGNORE
+<U1EE4> <ubelowdot>;<BAS>;<CAP>;IGNORE
+<U_>    <ubelowdot>;<BAS>;<CAP>;IGNORE
+<U_'>   <ubelowdot>;<ACA>;<CAP>;IGNORE
+<U_2'>  <ubelowdot>;<ACA>;<CAP>;IGNORE
+<U_`>   <ubelowdot>;<GRA>;<CAP>;IGNORE
+<U_2`>  <ubelowdot>;<GRA>;<CAP>;IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_NG"
+END LC_CTYPE
+
+LC_MONETARY
+copy "en_NG"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "en_NG"
+END LC_NUMERIC
+
+LC_TELEPHONE
+copy "en_NG"
+END LC_TELEPHONE
+ 
+LC_TIME
+% sọn, mọn, tuz, wen, tọs, fra, sat
+abday       "<U0073><U1ECD><U006E>";"<U006D><U1ECD><U006E>";/
+            "<U0074><U0075><U007A>";"<U0077><U0065><U006E>";/
+            "<U0074><U1ECD><U0073>";"<U0066><U0072><U0061>";/
+            "<U0073><U0061><U0074>"
+% sọnde, mọnde, tuzde, wenzde, tọsde, fraịde, satọde
+day         "<U0073><U1ECD><U006E><U0064><U0065>";/
+            "<U006D><U1ECD><U006E><U0064><U0065>";/
+            "<U0074><U0075><U007A><U0064><U0065>";/
+            "<U0077><U0065><U006E><U007A><U0064><U0065>";/
+            "<U0074><U1ECD><U0073><U0064><U0065>";/
+            "<U0066><U0072><U0061><U1ECB><U0064><U0065>";/
+            "<U0073><U0061><U0074><U1ECD><U0064><U0065>"
+% jen, feb, mach, epr, mee, juu, jul, ọgọ, sep, ọkt, nọv, dis
+abmon       "<U006A><U0065><U006E>";"<U0066><U0065><U0062>";/
+            "<U006D><U0061><U0061>";"<U0065><U0070><U0072>";/
+            "<U006D><U0065><U0065>";"<U006A><U0075><U0075>";/
+            "<U006A><U0075><U006C>";"<U1ECD><U0067><U1ECD>";/
+            "<U0073><U0065><U0070>";"<U1ECD><U006B><U0074>";/
+            "<U006E><U1ECD><U0076>";"<U0064><U0069><U0073>"
+% jenụwarị, febụrụwarị, maachị, epreel, mee, juun, 
+% julaị, ọgọstụ, septemba, ọktoba, nọvemba, disemba
+mon         "<U006A><U0065><U006E><U1EE5><U0077><U0061><U0072><U1ECB>";/
+            "<U0066><U0065><U0062><U1EE5><U0072><U1EE5><U0077><U0061><U0072><U1ECB>";/
+            "<U006D><U0061><U0061><U0063><U0068><U1ECB>";/
+            "<U0065><U0070><U0072><U0065><U0065><U006C>";/
+            "<U006D><U0065><U0065>";/
+            "<U006A><U0075><U0075><U006E>";/
+            "<U006A><U0075><U006C><U0061><U1ECB>";/
+            "<U1ECD><U0067><U1ECD><U0073><U0074><U1EE5>";/
+            "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0061>";/
+            "<U1ECD><U006B><U0074><U006F><U0062><U0061>";/
+            "<U006E><U1ECD><U0076><U0065><U006D><U0062><U0061>";/
+            "<U0064><U0069><U0073><U0065><U006D><U0062><U0061>"
+% FIXME
+% %A, %d %B %Y %T %Z
+d_t_fmt     "<U0025><U0041><U002C><U0020><U0025><U0064><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+t_fmt       "<U0025><U0072>"
+am_pm       "<U0041><U004D>";"<U0050><U004D>"
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+END LC_TIME
+
+LC_MESSAGES
+% yes: Ee
+yesstr      "<U0045><U0065>"
+% ^[EeIiYy].*
+yesexpr     "<U005E><U005B><U0045><U0065><U0049><U0069><U0059><U0079><U005D><U002E><U002A>"
+% Mba
+nostr       "<U004D><U0062><U0061>"
+% ^[MmNn].*
+noexpr      "<U005E><U005B><U0030><U004D><U006D><U004E><U006E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_PAPER
+copy "en_NG"
+END LC_PAPER
+
+LC_MEASUREMENT
+copy "en_NG"
+END LC_MEASUREMENT
+
+LC_NAME
+% FIXME
+copy "en_NG"
+END LC_NAME
+
+% FIXME
+LC_ADDRESS
+% Representation of postal addresses (minus the addressee's name) in South
+% Africa. (Ignored for now)
+% "%f%N%a%N%d%N%b%N%s %h %e %r%N%%z %T%N%c%N", which gives -
+%
+% "firm name",
+% "end of line",
+% "C/O address",
+% "end of line",
+% "department name",
+% "Building name",
+% "end of line",
+% "street or block name",
+% "space",
+% "house number or designation",
+% "space",
+% "floor number",
+% "space",
+% "room number, door designation",
+% "end of line",
+% "postal code",
+% "space",
+% "town, city",
+% "end of line",
+% "country designation for the <country_post> keyword",
+% "end of line
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+
+% Country name in Igbo - "Nigeria"
+country_name  "<U004E><U0069><U0067><U0065><U0072><U0069><U0061>"
+
+% Language name in Igbo - "Igbo"
+lang_name     "<U0049><U0067><U0062><U006F>"
+
+% CEPT MAILCODES are suggested
+% Alternatively use the code found on your countries postal item tracking number
+% "NG"?
+%country_post   "<U004E><U0047>"
+
+% UN Geneve 1949:68 Distinguishing signs of vehicles in international traffic
+% http://www.unece.org/trans/conventn/Distsigns_Sept2003.pdf
+% "WAN"
+country_car   "<U0057><U0041><U004E>"
+
+% ISO 2108
+% http://www.isbn-international.org/
+country_isbn  978
+
+% ISO 639 language abbreviations:
+% 639-1 2 letter, 639-2 3 letter terminology
+% http://www.loc.gov/standards/iso639-2/englagn.html
+% "ig", "ibo"
+lang_ab       "<U0069><U0067>"
+lang_term     "<U0069><U0062><U006F>"
+lang_lib      "<U0069><U0062><U006F>"
+
+% ISO 3166 country number and 2 and 3 letter abreviations
+% http://www.unicode.org/onlinedat/countries.html
+% "NG", "NGA"
+country_ab2   "<U004E><U0047>"
+country_ab3   "<U004E><U0047><U0041>"
+country_num   566
+
+END LC_ADDRESS
+
diff --git a/localedata/locales/ik_CA b/localedata/locales/ik_CA
new file mode 100644
index 0000000000..fe02028270
--- /dev/null
+++ b/localedata/locales/ik_CA
@@ -0,0 +1,230 @@
+escape_char /
+comment_char %
+%
+% Inupiaq language locale for Canada
+% Source: 
+% Contact: Pablo Saratxaga
+% Email: pablo@mandriva.com
+% Language: ik
+% Territory: CA
+% Revision: 0.2
+% Date: 2004-08-01
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title      "Inupiaq locale for Canada"
+source     ""
+address    ""
+contact    ""
+email      "pablo@mandriva.com"
+tel        ""
+fax        ""
+language   "Inupiaq"
+territory  "Canada"
+revision   "0.2"
+date       "2004-08-01"
+%
+category  "ik_CA:2000";LC_IDENTIFICATION
+category  "ik_CA:2000";LC_CTYPE
+category  "ik_CA:2000";LC_COLLATE
+category  "ik_CA:2000";LC_TIME
+category  "ik_CA:2000";LC_NUMERIC
+category  "ik_CA:2000";LC_MONETARY
+category  "ik_CA:2000";LC_MESSAGES
+category  "ik_CA:2000";LC_PAPER
+category  "ik_CA:2000";LC_NAME
+category  "ik_CA:2000";LC_ADDRESS
+category  "ik_CA:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_COLLATE
+
+% Inupiaq uses the following extra letters: 
+% gdotabove, ldotbelow, lbarred, lbarreddotbelow (not in unicode,
+% has to be composed as lbarred+composingdotbelow), eng, ntilde
+%
+% sorting order from
+% http://www.nsbsd.org/anep/public/index.cfm/17,459,html
+% however I'm not
+% sure if all letters are to be considered as separate items for
+% sorting purposes...
+%
+% order: a, [b], [c], ch, [d], [e], [f], g, g., h, i, [j], k, l,
+% l/, l-., l/-., m, n, n?, ng, [o], p, q, r, s, sr, t, u, v, [w],
+% [x], y, [z]
+
+copy "iso14651_t1"
+
+collating-symbol  <c-h-ik>
+collating-element <C-H> from "<U0043><U0048>"
+collating-element <c-h> from "<U0063><U0068>"
+collating-element <C-h> from "<U0043><U0068>"
+collating-element <c-H> from "<U0063><U0048>"
+collating-symbol  <s-r-ik>
+collating-element <S-R> from "<U0053><U0052>"
+collating-element <s-r> from "<U0073><U0072>"
+collating-element <S-r> from "<U0053><U0072>"
+collating-element <s-R> from "<U0073><U0052>"
+collating-symbol  <l-dotbelow-ik>
+collating-element <L-dot> from "<U004C><U0323>"
+collating-element <l-dot> from "<U006C><U0323>"
+collating-symbol  <lbar-dotbelow-ik>
+collating-element <Lbar-dot> from "<U0141><U0323>"
+collating-element <lbar-dot> from "<U0142><U0323>"
+collating-symbol  <gdot>
+collating-symbol  <lbar>
+collating-symbol  <ntilde>
+collating-symbol  <eng>
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+ 
+reorder-after <MIN>
+<MIN-CAP>
+ 
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <c>
+<c-h-ik>
+reorder-after <g>
+<gdot>
+reorder-after <l>
+<lbar>
+<l-dotbelow-ik>
+<lbar-dotbelow-ik>
+reorder-after <n>
+<ntilde>
+<eng>
+reorder-after <s>
+<s-r-ik>
+
+reorder-after <U0063>
+<c-h>   <c-h-ik>;<PCT>;<MIN>;IGNORE
+<c-H>   <c-h-ik>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0043>
+<C-H>   <c-h-ik>;<PCT>;<CAP>;IGNORE
+<C-h>   <c-h-ik>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0067>
+<U0121>   <gdot>;<PCT>;<MIN>;IGNORE
+reorder-after <U0047>
+<U0120>   <gdot>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U006C>
+<U0142> <lbar>;<BAS>;<MIN>;IGNORE
+<l-dot> <l-dotbelow-ik>;<PCT>;<MIN>;IGNORE
+<U1E37> <l-dotbelow-ik>;<PCT>;<MIN>;IGNORE
+<U1E39> <l-dotbelow-ik>;<PCT>;<MIN>;IGNORE
+<lbar-dot> <lbar-dotbelow-ik>;<PCT>;<MIN>;IGNORE
+reorder-after <U004C>
+<U0141> <lbar>;<BAS>;<CAP>;IGNORE
+<L-dot> <l-dotbelow-ik>;<PCT>;<CAP>;IGNORE
+<U1E36> <l-dotbelow-ik>;<PCT>;<CAP>;IGNORE
+<U1E38> <l-dotbelow-ik>;<PCT>;<CAP>;IGNORE
+<Lbar-dot> <lbar-dotbelow-ik>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U006E>
+<U00F1> <ntilde>;<TIL>;<MIN>;IGNORE
+<U014B> <eng>;<PCL>;<MIN>;IGNORE
+reorder-after <U004E>
+<U00D1> <ntilde>;<TIL>;<CAP>;IGNORE
+<U014A> <eng>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<s-r>   <s-r-ik>;<PCT>;<MIN>;IGNORE
+<s-R>   <s-r-ik>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0053>
+<S-R>   <s-r-ik>;<PCT>;<CAP>;IGNORE
+<S-r>   <s-r-ik>;<PCT>;<CAP-MIN>;IGNORE
+
+ 
+reorder-end
+
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_CA"
+END LC_CTYPE
+
+LC_MONETARY
+copy "en_CA"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "en_CA"
+END LC_NUMERIC
+
+LC_TELEPHONE
+copy "en_CA"
+END LC_TELEPHONE
+ 
+LC_TIME
+abday       "<U004D><U0069><U006E>";"<U0053><U0061><U0076>";/
+            "<U0049><U006C><U0061>";"<U0051><U0069><U0074>";/
+            "<U0053><U0069><U0073>";"<U0054><U0061><U006C>";/
+            "<U004D><U0061><U0071>"
+day         "<U004D><U0069><U006E><U0121><U0075><U0069><U0071><U0073><U0069><U006F><U0069><U0071>";/
+            "<U0053><U0061><U0076><U0061><U0142><U0142><U0069><U0071>";/
+            "<U0049><U006C><U0061><U0071><U0074><U0063><U0068><U0069><U0069><U006F><U0069><U0071>";/
+            "<U0051><U0069><U0074><U0063><U0068><U0069><U0069><U006F><U0069><U0071>";/
+            "<U0053><U0069><U0073><U0061><U006D><U0069><U0069><U006F><U0069><U0071>";/
+            "<U0054><U0061><U006C><U006C><U0069><U006D><U006D><U0069><U0069><U006F><U0069><U0071>";/
+            "<U004D><U0061><U0071><U0069><U006E><U0121><U0075><U006F><U0069><U0071>"
+abmon       "<U0053><U00F1><U0074>";"<U0053><U00F1><U0073>";/
+            "<U0050><U0061><U006E>";"<U0051><U0069><U006C>";/
+            "<U0053><U0075><U0070>";"<U0049><U0121><U00F1>";/
+            "<U0049><U0074><U0063>";"<U0054><U0069><U00F1>";/
+            "<U0041><U006D><U0069>";"<U0053><U0069><U006B>";/
+            "<U004E><U0069><U0070>";"<U0053><U0069><U0071>"
+mon         "<U0053><U0069><U0071><U0069><U00F1><U00F1><U0061><U0061><U0074><U0063><U0068><U0069><U0061><U0071>";/
+            "<U0053><U0069><U0071><U0069><U00F1><U00F1><U0061><U0061><U0073><U0072><U0075><U0067><U0072><U0075><U006B>";/
+            "<U0050><U0061><U006E><U0069><U0071><U0073><U0069><U0071><U0073><U0069><U0069><U0076><U0069><U006B>";/
+            "<U0051><U0069><U006C><U0121><U0069><U0063><U0068><U0020><U0054><U0061><U0074><U0071><U0069><U0061><U0074>";/
+            "<U0053><U0075><U0070><U0070><U0069><U0076><U0069><U006B>";/
+            "<U0049><U0121><U00F1><U0069><U0076><U0069><U006B>";/
+            "<U0049><U0074><U0063><U0068><U0061><U0076><U0069><U006B>";/
+            "<U0054><U0069><U00F1><U00F1><U0069><U0076><U0069><U006B>";/
+            "<U0041><U006D><U0069><U0121><U0061><U0069><U0071><U0073><U0069><U0076><U0069><U006B>";/
+            "<U0053><U0069><U006B><U006B><U0075><U0076><U0069><U006B>";/
+            "<U004E><U0069><U0070><U0070><U0069><U0076><U0069><U006B>";/
+            "<U0053><U0069><U0071><U0069><U00F1><U0121><U0069><U1E37><U0061><U0071>"
+d_t_fmt     "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0072><U0020><U0025><U005A>"
+d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+t_fmt       "<U0025><U0072>"
+am_pm       "<U0041><U004D>";"<U0050><U004D>"
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+END LC_TIME
+
+LC_MESSAGES
+yesstr      "<U0061><U0061>"
+nostr       "<U0071><U0061><U00F1><U0061><U0061>"
+yesexpr     "<U005B><U0079><U0059><U0069><U0049><U0061><U0041><U005D><U002E><U002A>"
+noexpr      "<U005B><U006E><U004E><U0071><U0051><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+% Default paper: A4
+LC_PAPER
+height 297
+width 210
+END LC_PAPER
+
+% Metric System (ISO 1000)
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
+
+LC_NAME
+% FIXME
+copy "en_CA"
+END LC_NAME
+
+LC_ADDRESS
+% FIXME
+copy "en_CA"
+END LC_ADDRESS
+
diff --git a/localedata/locales/is_IS b/localedata/locales/is_IS
index 1644bfa744..cddceeed39 100644
--- a/localedata/locales/is_IS
+++ b/localedata/locales/is_IS
@@ -947,7 +947,6 @@ order_start forward;forward/
 <UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
 <UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
 <UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
-<"=>	IGNORE;IGNORE;IGNORE;<"=>
 <UE011>	IGNORE;IGNORE;IGNORE;<UE011>
 <UE012>	IGNORE;IGNORE;IGNORE;<UE012>
 <UE013>	IGNORE;IGNORE;IGNORE;<UE013>
@@ -956,8 +955,6 @@ order_start forward;forward/
 <UE017>	IGNORE;IGNORE;IGNORE;<UE017>
 <UE018>	IGNORE;IGNORE;IGNORE;<UE018>
 <UE019>	IGNORE;IGNORE;IGNORE;<UE019>
-<Mc>	IGNORE;IGNORE;IGNORE;<Mc>
-<Fl>	IGNORE;IGNORE;IGNORE;<Fl>
 UNDEFINED	IGNORE;IGNORE;IGNORE
 
 <U0030>	<U0030>;<U0030>;IGNORE;IGNORE
diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common
index 2325c7a5c3..14b290c666 100644
--- a/localedata/locales/iso14651_t1_common
+++ b/localedata/locales/iso14651_t1_common
@@ -59,6 +59,7 @@ script <HEBREU>
 script <GREC>
 script <CYRIL>
 script <ARMENIAN>
+script <GEORGIAN>
 
 # Déclaration des symboles internes / Declaration of internal symbols
 #
@@ -417,6 +418,48 @@ collating-symbol <ARM-PYUR>
 collating-symbol <ARM-KE>
 collating-symbol <ARM-O>
 collating-symbol <ARM-FE>
+#
+# GEORGIAN
+#
+collating-symbol <GEORG-AN>
+collating-symbol <GEORG-BAN>
+collating-symbol <GEORG-GAN>
+collating-symbol <GEORG-DON>
+collating-symbol <GEORG-EN>
+collating-symbol <GEORG-VIN>
+collating-symbol <GEORG-ZEN>
+collating-symbol <GEORG-TAN>
+collating-symbol <GEORG-IN>
+collating-symbol <GEORG-KAN>
+collating-symbol <GEORG-LAS>
+collating-symbol <GEORG-MAN>
+collating-symbol <GEORG-NAR>
+collating-symbol <GEORG-ON>
+collating-symbol <GEORG-PAR>
+collating-symbol <GEORG-ZHAR>
+collating-symbol <GEORG-RAE>
+collating-symbol <GEORG-SAN>
+collating-symbol <GEORG-TAR>
+collating-symbol <GEORG-UN>
+collating-symbol <GEORG-PHAR>
+collating-symbol <GEORG-KHAR>
+collating-symbol <GEORG-GHAN>
+collating-symbol <GEORG-QAR>
+collating-symbol <GEORG-SHIN>
+collating-symbol <GEORG-CHIN>
+collating-symbol <GEORG-CAN>
+collating-symbol <GEORG-JIL>
+collating-symbol <GEORG-CIL>
+collating-symbol <GEORG-CHAR>
+collating-symbol <GEORG-XAN>
+collating-symbol <GEORG-JHAN>
+collating-symbol <GEORG-HAE>
+collating-symbol <GEORG-HE>
+collating-symbol <GEORG-HIE>
+collating-symbol <GEORG-WE>
+collating-symbol <GEORG-HAR>
+collating-symbol <GEORG-HOE>
+collating-symbol <GEORG-FI>
 
 # Ordre des symboles internes / Order of internal symbols
 #
@@ -787,6 +830,48 @@ collating-symbol <ARM-FE>
 <ARM-KE>
 <ARM-O>
 <ARM-FE>
+#
+# GEORGIAN
+#
+<GEORG-AN>
+<GEORG-BAN>
+<GEORG-GAN>
+<GEORG-DON>
+<GEORG-EN>
+<GEORG-VIN>
+<GEORG-ZEN>
+<GEORG-HE>
+<GEORG-TAN>
+<GEORG-IN>
+<GEORG-KAN>
+<GEORG-LAS>
+<GEORG-MAN>
+<GEORG-NAR>
+<GEORG-HIE>
+<GEORG-ON>
+<GEORG-PAR>
+<GEORG-ZHAR>
+<GEORG-RAE>
+<GEORG-SAN>
+<GEORG-TAR>
+<GEORG-WE>
+<GEORG-UN>
+<GEORG-PHAR>
+<GEORG-KHAR>
+<GEORG-GHAN>
+<GEORG-QAR>
+<GEORG-SHIN>
+<GEORG-CHIN>
+<GEORG-CAN>
+<GEORG-JIL>
+<GEORG-CIL>
+<GEORG-CHAR>
+<GEORG-XAN>
+<GEORG-HAR>
+<GEORG-JHAN>
+<GEORG-HAE>
+<GEORG-HOE>
+<GEORG-FI>
 
 order_start <SPECIAL>;forward;backward;forward;forward,position
 #
@@ -2419,6 +2504,137 @@ order_start <ARMENIAN>;forward;forward;forward;forward,position
 <U0555> <ARM-O>;<BAS>;<CAP>;IGNORE
 <U0556> <ARM-FE>;<BAS>;<CAP>;IGNORE
 
+order_start <GEORGIAN>;forward;forward;forward;forward,position
+# there are three georgian blocks defined in unicode;
+# those correspond to current and two historical scripts,
+# and are described as "CAPITAL", "(nothing)" and "SMALL" letters.
+# using <CAP>, <MIN>, <ANO> respectively for them, so the usual
+# script comes first (<MIN>), then the "SMALL" (<ANO>) then the
+# "CAPITAL" (<CAP>)
+<U10A0> <GEORG-AN>;<BAS>;<CAP>;IGNORE
+<U10A1> <GEORG-BAN>;<BAS>;<CAP>;IGNORE
+<U10A2> <GEORG-GAN>;<BAS>;<CAP>;IGNORE
+<U10A3> <GEORG-DON>;<BAS>;<CAP>;IGNORE
+<U10A4> <GEORG-EN>;<BAS>;<CAP>;IGNORE
+<U10A5> <GEORG-VIN>;<BAS>;<CAP>;IGNORE
+<U10A6> <GEORG-ZEN>;<BAS>;<CAP>;IGNORE
+<U10A7> <GEORG-TAN>;<BAS>;<CAP>;IGNORE
+<U10A8> <GEORG-IN>;<BAS>;<CAP>;IGNORE
+<U10A9> <GEORG-KAN>;<BAS>;<CAP>;IGNORE
+<U10AA> <GEORG-LAS>;<BAS>;<CAP>;IGNORE
+<U10AB> <GEORG-MAN>;<BAS>;<CAP>;IGNORE
+<U10AC> <GEORG-NAR>;<BAS>;<CAP>;IGNORE
+<U10AD> <GEORG-ON>;<BAS>;<CAP>;IGNORE
+<U10AE> <GEORG-PAR>;<BAS>;<CAP>;IGNORE
+<U10AF> <GEORG-ZHAR>;<BAS>;<CAP>;IGNORE
+<U10B0> <GEORG-RAE>;<BAS>;<CAP>;IGNORE
+<U10B1> <GEORG-SAN>;<BAS>;<CAP>;IGNORE
+<U10B2> <GEORG-TAR>;<BAS>;<CAP>;IGNORE
+<U10B3> <GEORG-UN>;<BAS>;<CAP>;IGNORE
+<U10B4> <GEORG-PHAR>;<BAS>;<CAP>;IGNORE
+<U10B5> <GEORG-KHAR>;<BAS>;<CAP>;IGNORE
+<U10B6> <GEORG-GHAN>;<BAS>;<CAP>;IGNORE
+<U10B7> <GEORG-QAR>;<BAS>;<CAP>;IGNORE
+<U10B8> <GEORG-SHIN>;<BAS>;<CAP>;IGNORE
+<U10B9> <GEORG-CHIN>;<BAS>;<CAP>;IGNORE
+<U10BA> <GEORG-CAN>;<BAS>;<CAP>;IGNORE
+<U10BB> <GEORG-JIL>;<BAS>;<CAP>;IGNORE
+<U10BC> <GEORG-CIL>;<BAS>;<CAP>;IGNORE
+<U10BD> <GEORG-CHAR>;<BAS>;<CAP>;IGNORE
+<U10BE> <GEORG-XAN>;<BAS>;<CAP>;IGNORE
+<U10BF> <GEORG-JHAN>;<BAS>;<CAP>;IGNORE
+<U10C0> <GEORG-HAE>;<BAS>;<CAP>;IGNORE
+<U10C1> <GEORG-HE>;<BAS>;<CAP>;IGNORE
+<U10C2> <GEORG-HIE>;<BAS>;<CAP>;IGNORE
+<U10C3> <GEORG-WE>;<BAS>;<CAP>;IGNORE
+<U10C4> <GEORG-HAR>;<BAS>;<CAP>;IGNORE
+<U10C5> <GEORG-HOE>;<BAS>;<CAP>;IGNORE
+#
+<U10D0> <GEORG-AN>;<BAS>;<MIN>;IGNORE
+<U10D1> <GEORG-BAN>;<BAS>;<MIN>;IGNORE
+<U10D2> <GEORG-GAN>;<BAS>;<MIN>;IGNORE
+<U10D3> <GEORG-DON>;<BAS>;<MIN>;IGNORE
+<U10D4> <GEORG-EN>;<BAS>;<MIN>;IGNORE
+<U10D5> <GEORG-VIN>;<BAS>;<MIN>;IGNORE
+<U10D6> <GEORG-ZEN>;<BAS>;<MIN>;IGNORE
+<U10D7> <GEORG-TAN>;<BAS>;<MIN>;IGNORE
+<U10D8> <GEORG-IN>;<BAS>;<MIN>;IGNORE
+<U10D9> <GEORG-KAN>;<BAS>;<MIN>;IGNORE
+<U10DA> <GEORG-LAS>;<BAS>;<MIN>;IGNORE
+<U10DB> <GEORG-MAN>;<BAS>;<MIN>;IGNORE
+<U10DC> <GEORG-NAR>;<BAS>;<MIN>;IGNORE
+<U10DD> <GEORG-ON>;<BAS>;<MIN>;IGNORE
+<U10DE> <GEORG-PAR>;<BAS>;<MIN>;IGNORE
+<U10DF> <GEORG-ZHAR>;<BAS>;<MIN>;IGNORE
+<U10E0> <GEORG-RAE>;<BAS>;<MIN>;IGNORE
+<U10E1> <GEORG-SAN>;<BAS>;<MIN>;IGNORE
+<U10E2> <GEORG-TAR>;<BAS>;<MIN>;IGNORE
+<U10E3> <GEORG-UN>;<BAS>;<MIN>;IGNORE
+<U10E4> <GEORG-PHAR>;<BAS>;<MIN>;IGNORE
+<U10E5> <GEORG-KHAR>;<BAS>;<MIN>;IGNORE
+<U10E6> <GEORG-GHAN>;<BAS>;<MIN>;IGNORE
+<U10E7> <GEORG-QAR>;<BAS>;<MIN>;IGNORE
+<U10E8> <GEORG-SHIN>;<BAS>;<MIN>;IGNORE
+<U10E9> <GEORG-CHIN>;<BAS>;<MIN>;IGNORE
+<U10EA> <GEORG-CAN>;<BAS>;<MIN>;IGNORE
+<U10EB> <GEORG-JIL>;<BAS>;<MIN>;IGNORE
+<U10EC> <GEORG-CIL>;<BAS>;<MIN>;IGNORE
+<U10ED> <GEORG-CHAR>;<BAS>;<MIN>;IGNORE
+<U10EE> <GEORG-XAN>;<BAS>;<MIN>;IGNORE
+<U10EF> <GEORG-JHAN>;<BAS>;<MIN>;IGNORE
+<U10F0> <GEORG-HAE>;<BAS>;<MIN>;IGNORE
+<U10F1> <GEORG-HE>;<BAS>;<MIN>;IGNORE
+<U10F2> <GEORG-HIE>;<BAS>;<MIN>;IGNORE
+<U10F3> <GEORG-WE>;<BAS>;<MIN>;IGNORE
+<U10F4> <GEORG-HAR>;<BAS>;<MIN>;IGNORE
+<U10F5> <GEORG-HOE>;<BAS>;<MIN>;IGNORE
+<U10F6> <GEORG-FI>;<BAS>;<MIN>;IGNORE
+<U10F7> IGNORE;IGNORE;IGNORE;<U10F7> # GEORGIAN LETTER YN
+<U10F8> IGNORE;IGNORE;IGNORE;<U10F8> # GEORGIAN LETTER ELIFI
+<U10F9> IGNORE;IGNORE;IGNORE;<U10F9> # GEORGIAN LETTER TURNED GAN
+<U10FA> IGNORE;IGNORE;IGNORE;<U10FA> # GEORGIAN LETTER AIN
+<U10FB> IGNORE;IGNORE;IGNORE;<U10FB> # GEORGIAN PARAGRAPH SEPARATOR
+<U10FC> IGNORE;IGNORE;IGNORE;<U10FC> # MODIFIER LETTER GEORGIAN NAR
+#
+<U2D00> <GEORG-AN>;<BAS>;<ANO>;IGNORE
+<U2D01> <GEORG-BAN>;<BAS>;<ANO>;IGNORE
+<U2D02> <GEORG-GAN>;<BAS>;<ANO>;IGNORE
+<U2D03> <GEORG-DON>;<BAS>;<ANO>;IGNORE
+<U2D04> <GEORG-EN>;<BAS>;<ANO>;IGNORE
+<U2D05> <GEORG-VIN>;<BAS>;<ANO>;IGNORE
+<U2D06> <GEORG-ZEN>;<BAS>;<ANO>;IGNORE
+<U2D07> <GEORG-TAN>;<BAS>;<ANO>;IGNORE
+<U2D08> <GEORG-IN>;<BAS>;<ANO>;IGNORE
+<U2D09> <GEORG-KAN>;<BAS>;<ANO>;IGNORE
+<U2D0A> <GEORG-LAS>;<BAS>;<ANO>;IGNORE
+<U2D0B> <GEORG-MAN>;<BAS>;<ANO>;IGNORE
+<U2D0C> <GEORG-NAR>;<BAS>;<ANO>;IGNORE
+<U2D0D> <GEORG-ON>;<BAS>;<ANO>;IGNORE
+<U2D0E> <GEORG-PAR>;<BAS>;<ANO>;IGNORE
+<U2D0F> <GEORG-ZHAR>;<BAS>;<ANO>;IGNORE
+<U2D10> <GEORG-RAE>;<BAS>;<ANO>;IGNORE
+<U2D11> <GEORG-SAN>;<BAS>;<ANO>;IGNORE
+<U2D12> <GEORG-TAR>;<BAS>;<ANO>;IGNORE
+<U2D13> <GEORG-UN>;<BAS>;<ANO>;IGNORE
+<U2D14> <GEORG-PHAR>;<BAS>;<ANO>;IGNORE
+<U2D15> <GEORG-KHAR>;<BAS>;<ANO>;IGNORE
+<U2D16> <GEORG-GHAN>;<BAS>;<ANO>;IGNORE
+<U2D17> <GEORG-QAR>;<BAS>;<ANO>;IGNORE
+<U2D18> <GEORG-SHIN>;<BAS>;<ANO>;IGNORE
+<U2D19> <GEORG-CHIN>;<BAS>;<ANO>;IGNORE
+<U2D1A> <GEORG-CAN>;<BAS>;<ANO>;IGNORE
+<U2D1B> <GEORG-JIL>;<BAS>;<ANO>;IGNORE
+<U2D1C> <GEORG-CIL>;<BAS>;<ANO>;IGNORE
+<U2D1D> <GEORG-CHAR>;<BAS>;<ANO>;IGNORE
+<U2D1E> <GEORG-XAN>;<BAS>;<ANO>;IGNORE
+<U2D1F> <GEORG-JHAN>;<BAS>;<ANO>;IGNORE
+<U2D20> <GEORG-HAE>;<BAS>;<ANO>;IGNORE
+<U2D21> <GEORG-HE>;<BAS>;<ANO>;IGNORE
+<U2D22> <GEORG-HIE>;<BAS>;<ANO>;IGNORE
+<U2D23> <GEORG-WE>;<BAS>;<ANO>;IGNORE
+<U2D24> <GEORG-HAR>;<BAS>;<ANO>;IGNORE
+<U2D25> <GEORG-HOE>;<BAS>;<ANO>;IGNORE
+
 order_end
 
 END LC_COLLATE
diff --git a/localedata/locales/iu_CA b/localedata/locales/iu_CA
new file mode 100644
index 0000000000..5fe346c1e5
--- /dev/null
+++ b/localedata/locales/iu_CA
@@ -0,0 +1,139 @@
+escape_char /
+comment_char %
+% charset "UTF-8"
+% Distribution and use is free, also for commercial purposes.
+
+LC_IDENTIFICATION
+title "Inuktitut language locale for Nunavut, Canada"
+source ""
+address ""
+contact "Pablo Saratxaga"
+email "pablo@mandriva.com"
+tel ""
+fax ""
+language "Inuktitut"
+territory "CA"
+revision "0.1"
+date "2001-05-04"
+
+category iu_CA:2000;LC_IDENTIFICATION
+category iu_CA:2000;LC_COLLATE
+category iu_CA:2000;LC_CTYPE
+category iu_CA:2000;LC_MESSAGES
+category iu_CA:2000;LC_MONETARY
+category iu_CA:2000;LC_NUMERIC
+category iu_CA:2000;LC_TIME
+category iu_CA:2000;LC_PAPER
+category iu_CA:2000;LC_NAME
+category iu_CA:2000;LC_MEASUREMENT
+category iu_CA:2000;LC_TELEPHONE
+category iu_CA:2000;LC_ADDRESS
+END LC_IDENTIFICATION
+
+LC_ADDRESS
+postal_fmt    "<U0025><U0061><U0025><U004E><U0025><U0066><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0068>/
+<U0020><U0025><U0073><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U0054><U0020><U0025><U007A><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+% FIXME country_name "Canada" in inuktitut ?
+% FIXME country_post "CA" for Canada ? 
+country_ab2 "<U0043><U0041>"
+country_ab3 "<U0043><U0041><U004E>"
+country_num 124
+country_car "<U0043><U0041><U004E>" % FIXME
+% FIXME country_isbn for Canada/inuktitut ?
+lang_name "<U1403><U14C4><U1483><U144E><U1450><U1466>"
+lang_ab "iu"
+% FIXME lang_term 
+% FIXME lang_lib 
+END LC_ADDRESS
+
+%%%%%%%%%%%%%
+%
+% TODO: LC_COLLATE, LC_TIME, LC_MESSAGES
+%
+%%%%%%%%%%%%
+
+
+LC_COLLATE
+% FIXME: is that order correct ?
+copy "en_CA"
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_CA"
+END LC_CTYPE
+
+LC_MONETARY
+copy "en_CA"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "en_CA"
+END LC_NUMERIC
+
+LC_TELEPHONE
+copy "en_CA"
+END LC_TELEPHONE
+
+LC_TIME
+abday       "<U14C8>";"<U14C7>";/
+            "<U14D5>";"<U1431>";/
+            "<U157F>";"<U1405>";/
+            "<U14EF>"
+day         "<U14C8><U1466><U144E><U1591><U152D><U1550><U1555><U1483>";/
+            "<U14C7><U14A1><U1490><U153E><U152D><U1405>";/
+            "<U14C7><U14A1><U1490><U153E><U152D><U1405><U14D5><U1585><U146D><U1466>";/
+            "<U1431><U1593><U14F2><U14D5><U1585><U14EF><U1405><U1466>";/
+            "<U157F><U144E><U1585><U1470><U1466>";/
+            "<U1405><U14EA><U14D7><U1548><U14D8><U1450><U1403><U14C7><U1585>";/
+            "<U14EF><U1559><U1456><U1555><U1483>"
+abmon       "<U152E><U14C4>";"<U1555><U1557>";/
+            "<U14AA><U1505>";"<U1403><U1433>";/
+            "<U14AA><U1403>";"<U152A><U14C2>";/
+            "<U152A><U14DA>";"<U140A><U148B>";/
+            "<U14EF><U144E>";"<U140A><U1466>";/
+            "<U14C4><U1555>";"<U144E><U14EF>"
+mon         "<U152E><U14C4><U140A><U14D5>";/
+            "<U1555><U1557><U140A><U14D5>";/
+            "<U14AA><U1505><U14EF>";/
+            "<U1403><U1433><U14D7>";/
+            "<U14AA><U1403>";/
+       	    "<U152A><U14C2>";/
+            "<U152A><U14DA><U1403>";/
+            "<U140A><U148B><U14EF>";/
+            "<U14EF><U144E><U1559>";/
+            "<U140A><U1466><U1450><U1559>";/
+            "<U14C4><U1555><U1559>";/
+            "<U144E><U14EF><U155D><U1559>"
+d_t_fmt     "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0072><U0020><U0025><U005A>"
+d_fmt       "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0079>"
+t_fmt       "<U0025><U0072>"
+am_pm       "<U0041><U004D>";"<U0050><U004D>"
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+END LC_TIME
+
+LC_MESSAGES
+yesexpr     "<U005B><U0079><U0059><U0073><U0053><U005D><U002E><U002A>"
+noexpr      "<U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+% Default paper: A4
+LC_PAPER
+height 297
+width 210
+END LC_PAPER
+
+% FIXME
+LC_NAME
+copy "en_CA"
+END LC_NAME
+
+% Metric System (ISO 1000)
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
+
+
+
diff --git a/localedata/locales/li_BE b/localedata/locales/li_BE
new file mode 100644
index 0000000000..7de99170c1
--- /dev/null
+++ b/localedata/locales/li_BE
@@ -0,0 +1,130 @@
+comment_char %
+escape_char  /
+% Distribution and use is
+
+LC_IDENTIFICATION 
+title "Limburgish Language Locale for Belgium"
+source "information from Kenneth Christiansen"
+address ""
+contact "Kenneth Christiansen, Pablo Saratxaga"
+email "kenneth@gnu.org, pablo@mandriva.com"
+tel ""
+% Fax
+language "li"
+territory "BE"
+revision "0.1"
+date "2003-11-30"
+
+category i18n:2000;LC_IDENTIFICATION
+category i18n:2000;LC_COLLATE
+category i18n:2000;LC_CTYPE
+category i18n:2000;LC_MESSAGES
+category i18n:2000;LC_MONETARY
+category i18n:2000;LC_NUMERIC
+category i18n:2000;LC_TIME
+category i18n:2000;LC_PAPER
+category i18n:2000;LC_NAME
+category i18n:2000;LC_MEASUREMENT
+category i18n:2000;LC_TELEPHONE
+category i18n:2000;LC_ADDRESS
+
+% ISO/IEC 14652: Converted comments to LC_IDENTIFICATION
+%  added LC_PAPER, LC_MEASUREMENT, LC_TELEPHONE, LC_ADDRESS
+%  copied LC_MONETARY, LC_NUMERIC from de_DE for simplicity
+% -- mckinstry@computer.org, 2000-07-03
+
+END LC_IDENTIFICATION
+
+LC_ADDRESS
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+%FIXME country_name "Belgie"
+country_post  "<U0042>"
+country_ab2   "<U0042><U0045>"
+country_ab3   "<U0042><U0045><U004C>"
+country_car   "<U0042>"
+country_num 56
+%FIXME country_isbn "2"
+lang_name "<U004C><U0069><U006D><U0062><U0075><U0072><U0067><U0073>"
+lang_ab "<U006C><U0069>"
+lang_term "<U006C><U0069><U006D>"
+lang_lib "<U006C><U0069><U006D>"
+END LC_ADDRESS
+
+LC_COLLATE
+copy "iso14651_t1"
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_DK"
+END LC_CTYPE
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U006A><U004A><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy "nl_BE"
+END LC_MONETARY
+
+LC_PAPER
+copy "nl_BE"
+END LC_PAPER
+
+LC_NAME
+copy "nl_BE"
+END LC_NAME
+
+LC_TELEPHONE
+copy "nl_BE"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy "nl_BE"
+END LC_MEASUREMENT
+
+LC_NUMERIC
+copy "nl_BE"
+END LC_NUMERIC
+
+LC_TIME
+abday   "<U007A><U00F3><U006E>";"<U006D><U0061><U006F>";/
+	"<U0064><U0061><U0065>";"<U0067><U006F><U006F>";/
+        "<U0064><U00F3><U006E>";"<U0076><U0072><U0069>";/
+        "<U007A><U0091><U006F>"
+day     "<U007A><U00F3><U006E><U0064><U0069><U0067>";/
+	"<U006D><U0061><U006F><U006E><U0064><U0069><U0067>";/
+	"<U0064><U0061><U0065><U006E><U0073><U0064><U0069><U0067>";/
+	"<U0067><U006F><U006F><U006E><U0073><U0064><U0069><U0067>";/
+	"<U0064><U00F3><U006E><U0064><U0065><U0072><U0064><U0069><U0067>";/
+	"<U0076><U0072><U0069><U0065><U0064><U0069><U0067>";/
+	"<U007A><U0061><U006F><U0074><U0065><U0072><U0064><U0069><U0067>"
+abmon   "<U006A><U0061><U006E>";"<U0066><U0069><U0062>";/
+	"<U006D><U0069><U0065>";"<U0065><U0070><U0072>";/
+	"<U006D><U0065><U0069>";"<U006A><U0075><U006E>";/
+	"<U006A><U0075><U006C>";"<U0061><U0075><U0067>";/
+	"<U0073><U0065><U0070>";"<U006F><U006B><U0074>";/
+	"<U006E><U006F><U0076>";"<U0064><U0065><U0073>"
+mon     "<U006A><U0061><U006E><U006E><U0065><U0077><U0061><U0072><U0069><U0065>";/
+	"<U0066><U0069><U0062><U0062><U0065><U0072><U0077><U0061><U0072><U0069><U0065>";/
+	"<U006D><U0069><U0065><U0072><U0074>";/
+	"<U0065><U0070><U0072><U00E8><U006C>";/
+	"<U006D><U0065><U0069><U006A>";/
+	"<U006A><U0075><U006E><U0069><U0065>";/
+	"<U006A><U0075><U006C><U0069><U0065>";/
+	"<U0061><U0075><U0067><U0075><U0073><U0074><U0075><U0073>";/
+	"<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
+	"<U006F><U006B><U0074><U006F><U0062><U0065><U0072>";/
+	"<U006E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
+	"<U0064><U0065><U0073><U0065><U006D><U0062><U0065><U0072>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U002E><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt   "<U0025><U0054>"
+am_pm   "";""
+t_fmt_ampm ""
+week	7;19971201;4
+END LC_TIME
diff --git a/localedata/locales/li_NL b/localedata/locales/li_NL
new file mode 100644
index 0000000000..016e283cdf
--- /dev/null
+++ b/localedata/locales/li_NL
@@ -0,0 +1,131 @@
+comment_char %
+escape_char  /
+% Distribution and use is
+
+LC_IDENTIFICATION 
+title "Limburgish Language Locale for the Netherlands"
+source "information from Kenneth Christiansen"
+address ""
+contact "Kenneth Christiansen, Pablo Saratxaga"
+email "kenneth@gnu.org, pablo@mandriva.com"
+tel ""
+% Fax
+language "li"
+territory "NL"
+revision "0.1"
+date "2003-11-30"
+
+category i18n:2000;LC_IDENTIFICATION
+category i18n:2000;LC_COLLATE
+category i18n:2000;LC_CTYPE
+category i18n:2000;LC_MESSAGES
+category i18n:2000;LC_MONETARY
+category i18n:2000;LC_NUMERIC
+category i18n:2000;LC_TIME
+category i18n:2000;LC_PAPER
+category i18n:2000;LC_NAME
+category i18n:2000;LC_MEASUREMENT
+category i18n:2000;LC_TELEPHONE
+category i18n:2000;LC_ADDRESS
+
+% ISO/IEC 14652: Converted comments to LC_IDENTIFICATION
+%  added LC_PAPER, LC_MEASUREMENT, LC_TELEPHONE, LC_ADDRESS
+%  copied LC_MONETARY, LC_NUMERIC from de_DE for simplicity
+% -- mckinstry@computer.org, 2000-07-03
+
+END LC_IDENTIFICATION
+
+LC_ADDRESS
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+%FIXME country_name "Nederland"
+country_post  "<U004E><U004C>"
+country_ab2   "<U004E><U004C>"
+country_ab3   "<U004E><U004C><U0044>"
+country_car   "<U004E><U004C>"
+country_num 528
+%FIXME country_isbn "2"
+lang_name "<U004C><U0069><U006D><U0062><U0075><U0072><U0067><U0073>"
+lang_ab "<U006C><U0069>"
+lang_term "<U006C><U0069><U006D>"
+lang_lib "<U006C><U0069><U006D>"
+END LC_ADDRESS
+
+LC_COLLATE
+copy "iso14651_t1"
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_DK"
+END LC_CTYPE
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U006A><U004A><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy "nl_NL"
+END LC_MONETARY
+
+LC_PAPER
+copy "nl_NL"
+END LC_PAPER
+
+LC_NAME
+copy "nl_NL"
+END LC_NAME
+
+LC_TELEPHONE
+copy "nl_NL"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy "nl_NL"
+END LC_MEASUREMENT
+
+LC_NUMERIC
+copy "nl_NL"
+END LC_NUMERIC
+
+LC_TIME
+
+abday   "<U007A><U00F3><U006E>";"<U006D><U0061><U006F>";/
+	"<U0064><U0061><U0065>";"<U0067><U006F><U006F>";/
+        "<U0064><U00F3><U006E>";"<U0076><U0072><U0069>";/
+        "<U007A><U0091><U006F>"
+day     "<U007A><U00F3><U006E><U0064><U0069><U0067>";/
+	"<U006D><U0061><U006F><U006E><U0064><U0069><U0067>";/
+	"<U0064><U0061><U0065><U006E><U0073><U0064><U0069><U0067>";/
+	"<U0067><U006F><U006F><U006E><U0073><U0064><U0069><U0067>";/
+	"<U0064><U00F3><U006E><U0064><U0065><U0072><U0064><U0069><U0067>";/
+	"<U0076><U0072><U0069><U0065><U0064><U0069><U0067>";/
+	"<U007A><U0061><U006F><U0074><U0065><U0072><U0064><U0069><U0067>"
+abmon   "<U006A><U0061><U006E>";"<U0066><U0069><U0062>";/
+	"<U006D><U0069><U0065>";"<U0065><U0070><U0072>";/
+	"<U006D><U0065><U0069>";"<U006A><U0075><U006E>";/
+	"<U006A><U0075><U006C>";"<U0061><U0075><U0067>";/
+	"<U0073><U0065><U0070>";"<U006F><U006B><U0074>";/
+	"<U006E><U006F><U0076>";"<U0064><U0065><U0073>"
+mon     "<U006A><U0061><U006E><U006E><U0065><U0077><U0061><U0072><U0069><U0065>";/
+	"<U0066><U0069><U0062><U0062><U0065><U0072><U0077><U0061><U0072><U0069><U0065>";/
+	"<U006D><U0069><U0065><U0072><U0074>";/
+	"<U0065><U0070><U0072><U00E8><U006C>";/
+	"<U006D><U0065><U0069><U006A>";/
+	"<U006A><U0075><U006E><U0069><U0065>";/
+	"<U006A><U0075><U006C><U0069><U0065>";/
+	"<U0061><U0075><U0067><U0075><U0073><U0074><U0075><U0073>";/
+	"<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
+	"<U006F><U006B><U0074><U006F><U0062><U0065><U0072>";/
+	"<U006E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
+	"<U0064><U0065><U0073><U0065><U006D><U0062><U0065><U0072>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U002E><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt   "<U0025><U0054>"
+am_pm   "";""
+t_fmt_ampm ""
+week	7;19971201;4
+END LC_TIME
diff --git a/localedata/locales/lo_LA b/localedata/locales/lo_LA
index 9cb6861ebf..cc764e1678 100644
--- a/localedata/locales/lo_LA
+++ b/localedata/locales/lo_LA
@@ -230,6 +230,7 @@ collating-element <ho-o> from "<U0EC2><U0EAB>"
 collating-element <ho-ai-maimuan> from "<U0EC3><U0EAB>"
 collating-element <ho-ai-maimalai> from "<U0EC4><U0EAB>"
 
+collating-element <o-e> from "<U0EC0><U0EAD>"
 collating-element <o-ae> from "<U0EC1><U0EAD>"
 collating-element <o-o> from "<U0EC2><U0EAD>"
 collating-element <o-ai-maimuan> from "<U0EC3><U0EAD>"
@@ -601,10 +602,10 @@ UNDEFINED      IGNORE;IGNORE;IGNORE;IGNORE
 
 <U0EDD>        <U0EDC>;<BLANK>;<BLANK>;<BLANK> % Lao CHARACTER HHOr
 <mhor-e>           "<U0EDD><U0EC0>";<BLANK>;<BLANK>;<BLANK>
-<mor-ae>          "<U0EDD><U0EC1>";<BLANK>;<BLANK>;<BLANK>
-<mor-o>           "<U0EDD><U0EC2>";<BLANK>;<BLANK>;<BLANK>
-<mor-ai-maimuan>  "<U0EDD><U0EC3>";<BLANK>;<BLANK>;<BLANK>
-<mor-ai-maimalai> "<U0EDD><U0EC4>";<BLANK>;<BLANK>;<BLANK>
+<mor-ae>           "<U0EDD><U0EC1>";<BLANK>;<BLANK>;<BLANK>
+<mor-o>            "<U0EDD><U0EC2>";<BLANK>;<BLANK>;<BLANK>
+<mor-ai-maimuan>   "<U0EDD><U0EC3>";<BLANK>;<BLANK>;<BLANK>
+<mor-ai-maimalai>  "<U0EDD><U0EC4>";<BLANK>;<BLANK>;<BLANK>
 
 
 % order of Lao vowels
diff --git a/localedata/locales/lv_LV b/localedata/locales/lv_LV
index 36ed49417c..99c8b6c25e 100644
--- a/localedata/locales/lv_LV
+++ b/localedata/locales/lv_LV
@@ -919,7 +919,6 @@ order_start forward;backward/
 <UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
 <UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
 <UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
-<"=>	IGNORE;IGNORE;IGNORE;<"=>
 <UE011>	IGNORE;IGNORE;IGNORE;<UE011>
 <UE012>	IGNORE;IGNORE;IGNORE;<UE012>
 <UE013>	IGNORE;IGNORE;IGNORE;<UE013>
diff --git a/localedata/locales/nb_NO b/localedata/locales/nb_NO
index 9579ffb646..9540cfa04a 100644
--- a/localedata/locales/nb_NO
+++ b/localedata/locales/nb_NO
@@ -59,6 +59,7 @@ collating-symbol <MIN-CAP>
 collating-symbol <ae>
 collating-symbol <o-stroke>
 collating-symbol <a-ring>
+collating-symbol <ETH>
 
 reorder-after <RES-1>
 <CAP>
@@ -190,6 +191,9 @@ t_fmt_ampm  ""
 date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
 <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
 <U0025><U005A><U0020><U0025><U0059>"
+week    7;19971201;4
+first_weekday 1
+first_workday 1
 END LC_TIME
 
 LC_MESSAGES
diff --git a/localedata/locales/nds_DE b/localedata/locales/nds_DE
new file mode 100644
index 0000000000..179f052804
--- /dev/null
+++ b/localedata/locales/nds_DE
@@ -0,0 +1,129 @@
+comment_char %
+escape_char  /
+% Distribution and use is
+
+LC_IDENTIFICATION
+title "Low(lands) Saxon Language Locale for Germany"
+source "information from Kenneth Christiansen"
+address ""
+contact "Kenneth Christiansen, Pablo Saratxaga"
+email "kenneth@gnu.org, pablo@mandrakesoft.com"
+tel ""
+% Fax
+language "nds"
+territory "DE"
+revision "0.1"
+date "2003-11-30"
+
+category i18n:2000;LC_IDENTIFICATION
+category i18n:2000;LC_COLLATE
+category i18n:2000;LC_CTYPE
+category i18n:2000;LC_MESSAGES
+category i18n:2000;LC_MONETARY
+category i18n:2000;LC_NUMERIC
+category i18n:2000;LC_TIME
+category i18n:2000;LC_PAPER
+category i18n:2000;LC_NAME
+category i18n:2000;LC_MEASUREMENT
+category i18n:2000;LC_TELEPHONE
+category i18n:2000;LC_ADDRESS
+
+% ISO/IEC 14652: Converted comments to LC_IDENTIFICATION
+%  added LC_PAPER, LC_MEASUREMENT, LC_TELEPHONE, LC_ADDRESS
+%  copied LC_MONETARY, LC_NUMERIC from de_DE for simplicity
+% -- mckinstry@computer.org, 2000-07-03
+
+END LC_IDENTIFICATION
+
+LC_ADDRESS
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+country_post  "<U0044>"
+country_ab2   "<U0044><U0045>"
+country_ab3   "<U0044><U0045><U0055>"
+country_car   "<U0044>"
+country_num 276
+country_isbn "3"
+lang_name "<U004E><U0065><U0064><U0064><U0065><U0072><U0073><U0061><U0073><U0073><U0069><U0073><U0063><U0068>"
+%lang_ab
+lang_term "<U006E><U0064><U0073>"
+lang_lib "<U006E><U0064><U0073>"
+END LC_ADDRESS
+
+LC_COLLATE
+copy "iso14651_t1"
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_DK"
+END LC_CTYPE
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U006A><U004A><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy "de_DE"
+END LC_MONETARY
+
+LC_PAPER
+copy "de_DE"
+END LC_PAPER
+
+LC_NAME
+copy "de_DE"
+END LC_NAME
+
+LC_TELEPHONE
+copy "de_DE"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy "de_DE"
+END LC_MEASUREMENT
+
+LC_NUMERIC
+copy "de_DE"
+END LC_NUMERIC
+
+LC_TIME
+abday   "<U0053><U0064><U0061><U0067>";"<U004D><U0061><U0061><U006E>";/
+        "<U0044><U0069><U006E><U0067>";"<U004D><U0069><U0067><U0067>";/
+        "<U0044><U0075><U006E><U006E>";"<U0046><U0072><U0065><U0065>";/
+        "<U0053><U0076><U0064><U002E>"
+day     "<U0053><U00FC><U006E><U006E><U0064><U0061><U0067>";/
+        "<U004D><U0061><U0061><U006E><U0064><U0061><U0067>";/
+        "<U0044><U0069><U006E><U0067><U0073><U0064><U0061><U0067>";/
+        "<U004D><U0069><U0064><U0064><U0065><U0077><U0065><U0065><U006B>";/
+        "<U0044><U0075><U006E><U006E><U0065><U0072><U0073><U0064><U0061><U0067>";/
+        "<U0046><U0072><U0065><U0065><U0064><U0061><U0067>";/
+        "<U0053><U00FC><U006E><U006E><U0061><U0076><U0065><U006E><U0064>"
+abmon   "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
+        "<U004D><U00E4><U0072>";"<U0041><U0070><U0072>";/
+        "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
+        "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
+        "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
+        "<U004E><U006F><U0076>";"<U0044><U0065><U007A>"
+mon     "<U004A><U0061><U006E><U006E><U0075><U0061><U0061><U0072>";/
+        "<U0046><U0065><U0062><U0065><U0072><U0077><U0061><U0061><U0072>";/
+        "<U004D><U00E4><U0072><U007A>";/
+        "<U0041><U0070><U0072><U0069><U006C>";/
+        "<U004D><U0061><U0069>";/
+        "<U004A><U0075><U006E><U0069>";/
+        "<U004A><U0075><U006C><U0069>";/
+        "<U0041><U0075><U0067><U0075><U0073><U0074>";/
+        "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
+        "<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/
+        "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
+        "<U0044><U0065><U007A><U0065><U006D><U0062><U0065><U0072>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U002E><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt   "<U0025><U0054>"
+am_pm   "";""
+t_fmt_ampm ""
+week	7;19971201;4
+END LC_TIME
diff --git a/localedata/locales/nds_NL b/localedata/locales/nds_NL
new file mode 100644
index 0000000000..aaccb68451
--- /dev/null
+++ b/localedata/locales/nds_NL
@@ -0,0 +1,128 @@
+comment_char %
+escape_char  /
+% Distribution and use is
+
+LC_IDENTIFICATION
+title "Low(lands) Saxon Language Locale for the Netherlands"
+source "information from Kenneth Christiansen"
+address ""
+contact "Kenneth Christiansen, Pablo Saratxaga"
+email "kenneth@gnu.org, pablo@mandrakesoft.com"
+tel ""
+% Fax
+language "nds"
+territory "NL"
+revision "0.1"
+date "2003-11-30"
+
+category i18n:2000;LC_IDENTIFICATION
+category i18n:2000;LC_COLLATE
+category i18n:2000;LC_CTYPE
+category i18n:2000;LC_MESSAGES
+category i18n:2000;LC_MONETARY
+category i18n:2000;LC_NUMERIC
+category i18n:2000;LC_TIME
+category i18n:2000;LC_PAPER
+category i18n:2000;LC_NAME
+category i18n:2000;LC_MEASUREMENT
+category i18n:2000;LC_TELEPHONE
+category i18n:2000;LC_ADDRESS
+
+% ISO/IEC 14652: Converted comments to LC_IDENTIFICATION
+%  added LC_PAPER, LC_MEASUREMENT, LC_TELEPHONE, LC_ADDRESS
+%  copied LC_MONETARY, LC_NUMERIC from de_DE for simplicity
+% -- mckinstry@computer.org, 2000-07-03
+
+END LC_IDENTIFICATION
+
+LC_ADDRESS
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+country_ab2 "<U004E><U004C>"
+country_ab3 "<U004E><U004C><U0044>"
+country_car "<U004E><U004C>"
+country_num 528
+country_isbn "3"
+lang_name "<U004E><U0065><U0064><U0064><U0065><U0072><U0073><U0061><U0073><U0073><U0069><U0073><U0063><U0068>"
+%lang_ab
+lang_term "<U006E><U0064><U0073>"
+lang_lib "<U006E><U0064><U0073>"
+END LC_ADDRESS
+
+LC_COLLATE
+copy "iso14651_t1"
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_DK"
+END LC_CTYPE
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U006A><U004A><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy "nl_NL"
+END LC_MONETARY
+
+LC_PAPER
+copy "nl_NL"
+END LC_PAPER
+
+LC_NAME
+copy "nl_NL"
+END LC_NAME
+
+LC_TELEPHONE
+copy "nl_NL"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy "nl_NL"
+END LC_MEASUREMENT
+
+LC_NUMERIC
+copy "nl_NL"
+END LC_NUMERIC
+
+LC_TIME
+abday   "<U0053><U0064><U0067>";"<U004D><U0064><U0067>";/
+        "<U0044><U0073><U0067>";"<U004D><U0077><U006B>";/
+        "<U0044><U0064><U0067>";"<U0046><U0064><U0067>";/
+        "<U0053><U0077><U0064>"
+day     "<U0053><U0069><U006E><U006E><U0064><U0061><U0067>";/
+        "<U004D><U006F><U006E><U0064><U0061><U0067>";/
+        "<U0044><U0069><U006E><U0067><U0073><U0064><U0061><U0067>";/
+        "<U004D><U0065><U0064><U0064><U0077><U00E4><U0061><U006B><U006A>";/
+        "<U0044><U006F><U006E><U006E><U0061><U0064><U0061><U0067>";/
+        "<U0046><U0072><U0069><U0065><U0064><U0061><U0067>";/
+        "<U0053><U0069><U006E><U006E><U006F><U0077><U0065><U006E><U0064>"
+abmon   "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
+        "<U004D><U006F><U007A>";"<U0041><U0070><U0072>";/
+        "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
+        "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
+        "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
+        "<U004E><U006F><U0077>";"<U0044><U0065><U007A>"
+mon     "<U004A><U0061><U0075><U006E><U0075><U0077><U006F><U0061>";/
+        "<U0046><U0065><U0062><U0072><U0075><U0077><U006F><U0061>";/
+        "<U004D><U006F><U0061><U007A>";/
+        "<U0041><U0070><U0072><U0065><U006C><U006C>";/
+        "<U004D><U0061><U0069>";/
+        "<U004A><U0075><U006E><U0069>";/
+        "<U004A><U0075><U006C><U0069>";/
+        "<U0041><U0075><U0067><U0075><U0073><U0074>";/
+        "<U0053><U0065><U0070><U0074><U0061><U006D><U0062><U0061>";/
+        "<U004F><U006B><U0074><U006F><U0062><U0061>";/
+        "<U004E><U006F><U0077><U0061><U006D><U0062><U0061>";/
+        "<U0044><U0065><U007A><U0061><U006D><U0062><U0061>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U002E><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt   "<U0025><U0054>"
+am_pm   "";""
+t_fmt_ampm ""
+week	7;19971201;4
+END LC_TIME
diff --git a/localedata/locales/nn_NO b/localedata/locales/nn_NO
index eb060edcce..af9ce4de2e 100644
--- a/localedata/locales/nn_NO
+++ b/localedata/locales/nn_NO
@@ -136,6 +136,9 @@ t_fmt_ampm  ""
 date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
 <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
 <U0025><U005A><U0020><U0025><U0059>"
+week    7;19971201;4
+first_weekday 1
+first_workday 1
 END LC_TIME
 
 
diff --git a/localedata/locales/oc_FR b/localedata/locales/oc_FR
index 97dfc8d90d..156f81243f 100644
--- a/localedata/locales/oc_FR
+++ b/localedata/locales/oc_FR
@@ -91,7 +91,7 @@ END LC_TELEPHONE
 LC_TIME
 abday   "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/
         "<U006D><U0061><U0072>";"<U006D><U0065><U0063>";/
-        "<U006A><U00F3><U0075>";"<U0076><U0065><U006E>";/
+        "<U006A><U00F2><U0075>";"<U0076><U0065><U006E>";/
         "<U0073><U0061><U0062>"
 day     "<U0064><U0069><U006D><U0065><U006E><U0067><U0065>";/
         "<U0064><U0069><U006C><U0075><U006E><U0073>";/
@@ -103,7 +103,7 @@ day     "<U0064><U0069><U006D><U0065><U006E><U0067><U0065>";/
 abmon   "<U0067><U0065><U006E>";"<U0066><U0065><U0062>";/
         "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
         "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
-        "<U006A><U0075><U006C>";"<U0061><U0067><U00F3>";/
+        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
         "<U0073><U0065><U0074>";"<U006F><U0063><U0074>";/
         "<U006E><U006F><U0076>";"<U0064><U0065><U0063>"
 mon     "<U0067><U0065><U006E><U0069><U00E8><U0072>";/
@@ -113,7 +113,7 @@ mon     "<U0067><U0065><U006E><U0069><U00E8><U0072>";/
         "<U006D><U0061><U0069>";/
         "<U006A><U0075><U006E><U0068>";/
         "<U006A><U0075><U006C><U0068><U0065><U0074>";/
-        "<U0061><U0067><U00F3><U0073><U0074>";/
+        "<U0061><U0067><U006F><U0073><U0074>";/
         "<U0073><U0065><U0074><U0065><U006D><U0062><U0072><U0065>";/
         "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
         "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
diff --git a/localedata/locales/pap_AN b/localedata/locales/pap_AN
new file mode 100644
index 0000000000..6f0e262bb5
--- /dev/null
+++ b/localedata/locales/pap_AN
@@ -0,0 +1,153 @@
+comment_char %
+escape_char  /
+% Distribution and use is free, also for commercial purposes.
+
+LC_IDENTIFICATION
+title "Papiamento Language for the (Netherland) Antilles"
+source "informations from native speaker"
+address ""
+contact "Pablo Saratxaga"
+email "pablo@mandrakesoft.com"
+tel ""
+fax ""
+language "pap"
+territory "AN"
+revision "0.2"
+date "2000-11-15"
+
+category i18n:2000;LC_IDENTIFICATION
+category i18n:2000;LC_COLLATE
+category i18n:2000;LC_CTYPE
+category i18n:2000;LC_MESSAGES
+category i18n:2000;LC_MONETARY
+category i18n:2000;LC_NUMERIC
+category i18n:2000;LC_TIME
+category i18n:2000;LC_PAPER
+category i18n:2000;LC_MEASUREMENT
+category i18n:2000;LC_TELEPHONE
+category i18n:2000;LC_ADDRESS
+
+% ISO/IEC 14652: Converted comments to LC_IDENTIFICATION
+%  added LC_PAPER, LC_MEASUREMENT, LC_TELEPHONE, LC_ADDRESS
+% -- mckinstry@computer.org, 2000-07-03
+
+END LC_IDENTIFICATION
+
+LC_ADDRESS
+postal_fmt "<U0025><U0064><U0025><U004E><U0025><U0066><U0025><U004E><U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E>/
+<U0025><U0073><U0020><U0025><U0068><U0020><U0035><U0065><U0020><U0025><U0072><U0025><U004E>/
+<U0025><U0043><U0025><U007A><U0020><U0025><U0054><U0025><U004E><U0025><U0063><U0025><U004E>"
+% FIXME country_name for Antilles in Paplamento
+% FIXME country_post MAIL_CEPTCODE for Nederland Antilles, AN?
+country_ab2 "<U0041><U004E>"
+country_ab3 "<U0041><U004E><U0054>"
+country_num 530
+country_isbn "99904"
+country_car "<U004E><U0041>"
+% lang_ab
+lang_term "<U0070><U0061><U0070>"
+lang_lib "<U0070><U0061><U0070>"
+END LC_ADDRESS
+
+LC_CTYPE
+copy "en_DK"
+END LC_CTYPE
+
+LC_COLLATE
+copy "en_DK"
+END LC_COLLATE
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U006A><U004A><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+
+LC_MONETARY
+int_curr_symbol           "<U0041><U004E><U0047><U0020>"
+currency_symbol           "<U0066>"
+mon_decimal_point         "<U002C>"
+mon_thousands_sep         "<U0020>"
+mon_grouping              3;3
+positive_sign             ""
+negative_sign             "<U002D>"
+int_frac_digits           2
+frac_digits               2
+p_cs_precedes             1
+p_sep_by_space            1
+n_cs_precedes             1
+n_sep_by_space            1
+p_sign_posn               1
+n_sign_posn               2
+END LC_MONETARY
+
+LC_NUMERIC
+decimal_point             "<U002C>"
+thousands_sep             ""
+grouping                  0;0
+END LC_NUMERIC
+
+LC_TIME
+abday   "<U0064><U006F>";"<U006C><U0075>";"<U006D><U0061>";/
+        "<U0077><U0065>";"<U0072><U0061>";"<U0062><U0069>";/
+        "<U0073><U0061>"
+day     "<U0044><U006A><U0061><U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+        "<U0044><U006A><U0061><U006C><U0075><U006E><U0061>";/
+        "<U0044><U006A><U0061><U006D><U0061><U0072><U0073>";/
+        "<U0044><U006A><U0061><U0077><U0065><U0062><U0073>";/
+        "<U0044><U006A><U0061><U0072><U0061><U0073><U006F><U006E>";/
+        "<U0044><U006A><U0061><U0062><U0069><U0065><U0072><U006E><U0065>";/
+        "<U0044><U006A><U0061><U0073><U0061><U0062><U0072><U0061>"
+abmon   "<U0059><U0061><U006E>";"<U0046><U0065><U0062>";/
+        "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
+        "<U004D><U0065><U0069>";"<U0059><U00FC><U006E>";/
+        "<U0059><U00FC><U006C>";"<U004F><U0075><U0067>";/
+        "<U0053><U00E8><U0070>";"<U004F><U006B><U0074>";/
+        "<U004E><U006F><U0076>";"<U0044><U0065><U0073>"
+mon     "<U0059><U0061><U006E><U00FC><U0061><U0072><U0069>";/
+        "<U0046><U0065><U0062><U0072><U00FC><U0061><U0072><U0069>";/
+        "<U004D><U0061><U0072><U0074>";/
+        "<U0041><U0070><U0072><U0065><U006C>";/
+        "<U004D><U0065><U0069>";/
+        "<U0059><U00FC><U006E><U0069>";/
+        "<U0059><U00FC><U006C><U0069>";/
+        "<U004F><U0075><U0067><U00F9><U0073><U0074><U00F9><U0073>";/
+        "<U0053><U00E8><U0070><U0074><U00E8><U006D><U0062><U0065><U0072>";/
+        "<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/
+        "<U004E><U006F><U0076><U00E8><U006D><U0062><U0065><U0072>";/
+        "<U0044><U0065><U0073><U00E8><U006D><U0062><U0065><U0072>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt   "<U0025><U0064><U002D><U0025><U006D><U002D><U0025><U0079>"
+t_fmt   "<U0025><U0054>"
+am_pm   "";""
+t_fmt_ampm ""
+END LC_TIME
+
+LC_NUMERIC
+decimal_point             "<U002C>"
+thousands_sep             ""
+grouping                  0;0
+END LC_NUMERIC
+
+% Metric Measurement system (ISO 1000)
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
+
+% Default paper: A4
+LC_PAPER
+height 297
+width 210
+END LC_PAPER
+
+LC_TELEPHONE
+tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025><U006C>"
+% FIXME FIND tel_dom_fmt
+int_select "00"
+int_prefix "599"
+END LC_TELEPHONE
+
+LC_NAME
+% Todo
+copy "en_DK"
+END LC_NAME
diff --git a/localedata/locales/sa_IN b/localedata/locales/sa_IN
new file mode 100644
index 0000000000..1e0d80c9d8
--- /dev/null
+++ b/localedata/locales/sa_IN
@@ -0,0 +1,254 @@
+comment_char    %
+escape_char     /
+% Sanskrit language locale for India.
+% Contributed by Vidya Ayer <svaksha@gmail.com>
+% and Christian Perrier <bubulle@debian.org>
+
+LC_IDENTIFICATION
+title      "Sanskrit language locale for India"
+source     "The Debian project"
+address    ""
+contact    "Christian Perrier"
+email      "bubulle@debian.org"
+tel        ""
+fax        ""
+language   "Sanskrit"
+territory  "India"
+revision   "1.0"
+date       "2005-09-25"
+%
+category  "sa_IN:2000";LC_IDENTIFICATION
+category  "sa_IN:2000";LC_CTYPE
+category  "sa_IN:2000";LC_COLLATE
+category  "sa_IN:2000";LC_TIME
+category  "sa_IN:2000";LC_NUMERIC
+category  "sa_IN:2000";LC_MONETARY
+category  "sa_IN:2000";LC_MESSAGES
+category  "sa_IN:2000";LC_PAPER
+category  "sa_IN:2000";LC_NAME
+category  "sa_IN:2000";LC_ADDRESS
+category  "sa_IN:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "i18n"
+
+translit_start
+include "translit_combining";""
+translit_end
+END LC_CTYPE
+
+LC_COLLATE
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
+END LC_COLLATE
+
+LC_MONETARY
+% This is the POSIX Locale definition the LC_MONETARY category.
+% These are generated based on XML base Locale difintion file
+% for IBM Class for Unicode/Java
+%
+int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+currency_symbol       "<U0930><U0942>"
+mon_decimal_point     "<U002E>"
+mon_thousands_sep     "<U002C>"
+mon_grouping          3
+positive_sign         ""
+negative_sign         "<U002D>"
+int_frac_digits       2
+frac_digits           2
+p_cs_precedes         1
+p_sep_by_space        1
+n_cs_precedes         1
+n_sep_by_space        1
+p_sign_posn           1
+n_sign_posn           1
+%
+END LC_MONETARY
+
+
+LC_NUMERIC
+% This is the POSIX Locale definition for the LC_NUMERIC  category.
+%
+decimal_point          "<U002E>"
+thousands_sep          "<U002C>"
+grouping               3
+%
+END LC_NUMERIC
+
+
+LC_TIME
+% This is the POSIX Locale definition for the LC_TIME category.
+% These are generated based on XML base Locale difintion file
+% for IBM Class for Unicode/Java
+%
+% Abbreviated weekday names (%a)
+% ravih,somah,mangalah,budhah,brhaspatih,shukra,shanih
+abday       "<U0930><U0935><U093F><U0903>";/
+            "<U0938><U094B><U092E><U003A>";/
+            "<U092E><U0902><U0917><U0932><U003A>";/
+            "<U092C><U0941><U0927><U003A>";/
+            "<U092C><U0943><U0939><U0938><U094D><U092A><U0924><U093F><U0903>";/
+            "<U0936><U0941><U0915><U094D><U0930>";/
+            "<U0936><U0928><U093F><U003A>"
+%
+% Full weekday names (%A)
+% ravivasarah, somavasarah, mangalavasarah, budhavasarah, brhaspativasarah, shukravasarah, shanivasarah
+day         "<U0930><U0935><U093F><U0935><U093E><U0938><U0930><U003A>";/
+            "<U0938><U094B><U092E><U0935><U093E><U0938><U0930><U003A>";/
+            "<U092E><U0902><U0917><U0932><U0935><U093E><U0938><U0930><U003A>";/
+            "<U092C><U0941><U0927><U0935><U093E><U0938><U0930><U003A>";/
+            "<U092C><U0943><U0939><U0938><U094D><U092A><U0924><U093F><U0935><U093E><U0938><U0930><U0903>";/
+            "<U0936><U0941><U0915><U094D><U0930><U0935><U093E><U0938><U0930>";/
+            "<U0936><U0928><U093F><U0935><U093E><U0938><U0930><U003A>"
+%
+% Abbreviated month names (%b)
+% Below comes from hi_IN.
+% Sanskrit uses a lunar calendar. When gregorian month names
+% are needed, the names are the same names than those used
+% by Hindi
+% names for gregorian month names:
+abmon       "<U091C><U0928><U0935><U0930><U0940>";/
+            "<U092B><U093C><U0930><U0935><U0930><U0940>";/
+            "<U092E><U093E><U0930><U094D><U091A>";/
+            "<U0905><U092A><U094D><U0930><U0947><U0932>";/
+            "<U092E><U0908>";/
+            "<U091C><U0942><U0928>";/
+            "<U091C><U0941><U0932><U093E><U0908>";/
+            "<U0905><U0917><U0938><U094D><U0924>";/
+            "<U0938><U093F><U0924><U092E><U094D><U092C><U0930>";/
+            "<U0905><U0915><U094D><U091F><U0942><U092C><U0930>";/
+            "<U0928><U0935><U092E><U094D><U092C><U0930>";/
+            "<U0926><U093F><U0938><U092E><U094D><U092C><U0930>"
+%
+% Full month names (%B)
+% Sanskrit uses a lunar calendar. When gregorian month names
+% are needed, the names are the same names than those used
+% by Hindi
+% Lunar calendar month names:
+% Chaitra            March 22
+% Vaisakha           April 29
+% jyeshthah          May 22
+% ashadah            June 22
+% shravanah          July 23
+% bhadrapadah        August 23
+% ashvinah           September 23
+% kartikah           October 23
+% margashirsah       November 22
+% paushah            December 22
+% maghah             January 29
+% phalgunah          February 20
+% names for gregorian month names:
+mon         "<U091C><U0928><U0935><U0930><U0940>";/
+            "<U092B><U093C><U0930><U0935><U0930><U0940>";/
+            "<U092E><U093E><U0930><U094D><U091A>";/
+            "<U0905><U092A><U094D><U0930><U0947><U0932>";/
+            "<U092E><U0908>";/
+            "<U091C><U0942><U0928>";/
+            "<U091C><U0941><U0932><U093E><U0908>";/
+            "<U0905><U0917><U0938><U094D><U0924>";/
+            "<U0938><U093F><U0924><U092E><U094D><U092C><U0930>";/
+            "<U0905><U0915><U094D><U091F><U0942><U092C><U0930>";/
+            "<U0928><U0935><U092E><U094D><U092C><U0930>";/
+            "<U0926><U093F><U0938><U092E><U094D><U092C><U0930>"
+%
+% Equivalent of AM PM
+am_pm       "<U092A><U0942><U0930><U094D><U0935><U093E><U0939><U094D><U0928>";/
+            "<U0905><U092A><U0930><U093E><U0939><U094D><U0928>"
+%
+% Appropriate date and time representation
+% %A %d %b %Y%I:%M:%S  %Z
+d_t_fmt     "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/
+<U0020><U0025><U0059><U0020><U0025><U0049><U003A><U0025><U004D><U003A>/
+<U0025><U0053><U0020><U0025><U0070><U0020><U0025><U005A>"
+%
+% Appropriate date representation
+% %A %d %b %Y
+d_fmt       "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/
+<U0020><U0025><U0059>"
+%
+% Appropriate time representation
+% %I:%M:%S  %Z
+t_fmt       "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/
+<U0020><U0020><U0025><U005A>"
+%
+% Appropriate 12 h time representation (%r)
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053>/
+<U0020><U0025><U0070><U0020><U0025><U005A>"
+%
+date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0025><U005A><U0020><U0025><U0059>"
+END LC_TIME
+
+
+LC_MESSAGES
+% "^[aAyY].*"
+%  "^[nN].*"
+yesexpr "<U005E><U005B><U0061><U0041><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+
+LC_PAPER
+% This is the ISO_IEC TR14652 Locale definition for the LC_PAPER category
+% generated by IBM Basic CountryPack Transformer.
+height      297
+width       210
+
+END LC_PAPER
+
+
+LC_NAME
+% This is the ISO_IEC TR14652 Locale definition for the
+% LC_NAME category.
+%
+name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/
+<U0025><U0067>"
+name_gen    ""
+%
+% shri
+name_mr     "<U0936><U094D><U0930><U0940>"
+% For boys under 18, this is "kumar"
+% but locales are sexist and do not even imagine
+% that some language may have different forms for MEN too
+% name_mr     "<U0915><U0941><U092E><U093E><U0930>"
+% shrimati
+name_mrs    "<U0936><U094D><U0930><U0940><U092E><U0924><U0940>"
+% kumari
+name_miss   "<U0915><U0941><U092E><U093E><U0930><U0940>"
+% shrimati
+name_ms     "<U0936><U094D><U0930><U0940><U092E><U0924><U0940>"
+
+END LC_NAME
+
+
+LC_ADDRESS
+% This is the ISO_IEC TR14652 Locale definition for the
+% LC_ADDRESS
+postal_fmt  "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/
+<U0025><U0062><U0025><U0065><U0025><U0072>"
+
+country_ab2 "<U0049><U004E>"
+country_ab3 "<U0049><U004E><U0044>"
+country_num 356
+END LC_ADDRESS
+
+
+LC_TELEPHONE
+% This is the ISO_IEC TR14652 Locale definition for the LC_TELEPHONE
+% generated by IBM Basic CountryPack Transformer.
+tel_int_fmt "<U002B><U0025><U0063><U0020><U003B><U0025><U0061><U0020><U003B><U0025><U006C>"
+int_prefix "<U0039><U0031>"
+int_select "<U0030><U0030>"
+END LC_TELEPHONE
+
+
+LC_MEASUREMENT
+% This is the ISO_IEC TR14652 Locale definition for the LC_MEASUREMENT
+% category generated by IBM Basic CountryPack Transformer.
+measurement 1
+END LC_MEASUREMENT
diff --git a/localedata/locales/sc_IT b/localedata/locales/sc_IT
new file mode 100644
index 0000000000..dd38cac62d
--- /dev/null
+++ b/localedata/locales/sc_IT
@@ -0,0 +1,134 @@
+comment_char %
+escape_char  /
+%
+% Sardinian Language Locale for Italy
+% Language: sc
+% Territory: IT
+% Revision: 0.1
+% Date: 2004-05-26
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title      "Sardinian locale for Italy"
+source     ""
+address    ""
+contact    "Pablo Saratxaga"
+email      "pablo@mandriva.com"
+tel        ""
+fax        ""
+language   "Sardinian"
+territory  "Italy"
+revision   "0.1"
+date       "2004-05-26"
+%
+category  "sc_IT:2000";LC_IDENTIFICATION
+category  "sc_IT:2000";LC_CTYPE
+category  "sc_IT:2000";LC_COLLATE
+category  "sc_IT:2000";LC_TIME
+category  "sc_IT:2000";LC_NUMERIC
+category  "sc_IT:2000";LC_MONETARY
+category  "sc_IT:2000";LC_MESSAGES
+category  "sc_IT:2000";LC_PAPER
+category  "sc_IT:2000";LC_NAME
+category  "sc_IT:2000";LC_ADDRESS
+category  "sc_IT:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "it_IT"
+END LC_CTYPE
+
+LC_COLLATE
+copy "iso14651_t1"
+
+collating-symbol <c,>
+
+reorder-after <c>
+<c,>
+
+reorder-after <U0063>
+<U00E7> <c,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0043>
+<U00C7> <c,>;<CDI>;<CAP>;IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_MESSAGES
+yesexpr "<U005E><U005B><U0073><U0053><U006A><U004A><U006F><U004F><U0079><U0059><U005D><U002E><U002A>"
+noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_MONETARY
+copy  "it_IT"
+END LC_MONETARY
+
+LC_NUMERIC
+copy  "it_IT"
+END LC_NUMERIC
+
+LC_TIME
+abday   "<U0044><U006F><U006D>";"<U004C><U0075><U006E>";/
+        "<U004D><U0061><U0072>";"<U004D><U00E8><U0072>";/
+        "<U004A><U00F2><U0062>";"<U0043><U0065><U006E>";/
+        "<U0053><U00E0><U0062>"
+day     "<U0044><U006F><U006D><U00EC><U006E><U0067><U0075>";/
+        "<U004C><U0075><U006E><U0069><U0073>";/
+        "<U004D><U0061><U0072><U0074><U0069><U0073>";/
+        "<U004D><U00E8><U0072><U0063><U0075><U0072><U0069><U0073>";/
+        "<U004A><U00F2><U0062><U0069><U0061>";/
+        "<U0043><U0065><U006E><U00E0><U0062><U0061><U0072><U0061>";/
+        "<U0053><U00E0><U0062><U0061><U0064><U0075>"
+abmon   "<U0047><U0065><U006E>";"<U0046><U0072><U0069>";/
+        "<U004D><U0061><U0072>";"<U0041><U0062><U0072>";/
+        "<U004D><U0061><U0079>";"<U004C><U00E0><U006D>";/
+        "<U0041><U0072><U006A>";"<U0041><U0075><U0073>";/
+        "<U0043><U0061><U0062>";"<U004C><U0061><U0064>";/
+        "<U0044><U006F><U006E>";"<U0049><U0064><U0061>"
+mon     "<U0047><U0065><U006E><U006E><U0061><U0072><U006A><U0075>";/
+        "<U0046><U0072><U0069><U0061><U0072><U006A><U0075>";/
+        "<U004D><U0061><U0072><U0074><U007A><U0075>";/
+        "<U0041><U0062><U0072><U0069><U006C><U0069>";/
+        "<U004D><U0061><U0079><U0075>";/
+        "<U004C><U00E0><U006D><U0070><U0061><U0064><U0061><U0073>";/
+        "<U0041><U0072><U006A><U006F><U006C><U0061><U0073>";/
+        "<U0041><U0075><U0073><U0074><U0075>";/
+        "<U0043><U0061><U0062><U0075><U0064><U0061><U006E><U006E><U0069>";/
+        "<U004C><U0061><U0064><U00E0><U006D><U0069><U006E><U0069>";/
+        "<U0044><U006F><U006E><U006E><U0079><U0061><U0073><U0061><U006E><U0074><U0075>";/
+        "<U0049><U0064><U0061><U0073>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt   "<U0025><U0064><U002E><U0020><U0025><U006D><U002E><U0020><U0025><U0079>"
+t_fmt   "<U0025><U0054>"
+am_pm   "";""
+t_fmt_ampm ""
+date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0025><U005A><U0020><U0025><U0059>"
+week	7;19971201;4
+END LC_TIME
+
+LC_PAPER
+copy  "it_IT"
+END LC_PAPER
+
+LC_TELEPHONE
+copy  "it_IT"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy  "it_IT"
+END LC_MEASUREMENT
+
+LC_NAME
+copy  "it_IT"
+END LC_NAME
+
+LC_ADDRESS
+copy  "it_IT"
+END LC_ADDRESS
diff --git a/localedata/locales/sr_CS b/localedata/locales/sr_CS
deleted file mode 100644
index 1a01f2f101..0000000000
--- a/localedata/locales/sr_CS
+++ /dev/null
@@ -1,349 +0,0 @@
-comment_char %
-escape_char  /
-%
-% Serbian Language Locale for Serbia and Montenegro
-% Source: sr_YU locale
-% Address:
-%
-% Contact: Danilo Segan
-% Email: dsegan@gmx.net
-% Tel: +381 63 8626082
-% Fax: none
-% Language: sr
-% Territory: CS
-% Revision: 1.2
-% Date: 2004-08-09
-% Application: general
-% Users: general
-% Charset: UTF-8, ISO-8859-5
-% Distribution and use is free, also
-% for commercial purposes.
-%
-% TODO:
-% -- fix LC_COLLATE to work correctly for latin alphabet too
-%
-
-LC_IDENTIFICATION
-title      "Serbian locale for Serbia and Montenegro"
-source     "sr_YU locale"
-address    ""
-contact    "Danilo Segan"
-email      "bug-glibc-locales@gnu.org"
-tel        ""
-fax        ""
-language   "Serbian"
-territory  "Serbia and Montenegro"
-revision   "1.2"
-date       "2004-08-09"
-audience   "general"
-application   "GNU locale"
-abbreviation  ""
-%
-category  "i18n:1997";LC_IDENTIFICATION
-category  "i18n:1997";LC_CTYPE
-category  "i18n:1997";LC_COLLATE
-category  "i18n:1997";LC_MONETARY
-category  "i18n:1997";LC_NUMERIC
-category  "i18n:1997";LC_TIME
-category  "i18n:1997";LC_MESSAGES
-category  "i18n:1997";LC_PAPER
-category  "i18n:1997";LC_NAME
-category  "i18n:1997";LC_ADDRESS
-category  "i18n:1997";LC_TELEPHONE
-category  "i18n:1997";LC_MEASUREMENT
-END LC_IDENTIFICATION
-
-LC_CTYPE
-copy "i18n"
-translit_start
-include "translit_combining";""
-
-% cyrillic -> latin
-<U0452> "<U0111>";"<U0064><U006A>" % d-
-<U0453> "<U0067><U006A>" % gj
-<U0455> "<U0064><U007A>" % dz
-<U0458> "<U006A>" % j
-<U0459> "<U006C><U006A>" % lj
-<U045A> "<U006E><U006A>" % nj
-<U045B> "<U0107>";"<U0063>" % c'
-<U045C> "<U006B><U006A>" % kj
-<U045F> "<U0064><U017E>";"<U0064><U007A>" % dz<
-
-<U0402> "<U0110>";"<U0044><U006A>" % D-
-<U0403> "<U0047><U006A>" % Gj
-<U0405> "<U0044><U007A>" % Dz
-<U0408> "<U004A>" % J
-<U0409> "<U004C><U006A>" % Lj
-<U040A> "<U004E><U006A>" % Nj
-<U040B> "<U0106>";"<U0043>" % C'
-<U040C> "<U004B><U006A>" % Kj
-<U040F> "<U0044><U017E>";"<U0064><U007A>" % Dz<
-
-<U0430> "<U0061>"
-<U0431> "<U0062>"
-<U0446> "<U0063>"
-<U0434> "<U0064>"
-<U0435> "<U0065>"
-<U0444> "<U0066>"
-<U0433> "<U0067>"
-<U0445> "<U0068>"
-<U0438> "<U0069>"
-<U043A> "<U006B>"
-<U043B> "<U006C>"
-<U043C> "<U006D>"
-<U043D> "<U006E>"
-<U043E> "<U006F>"
-<U043F> "<U0070>"
-<U0440> "<U0072>"
-<U0441> "<U0073>"
-<U0442> "<U0074>"
-<U0443> "<U0075>"
-<U0432> "<U0076>"
-<U0437> "<U007A>"
-<U0436> "<U017E>";"<U007A>" % z<
-<U0448> "<U0161>";"<U0073>" % s<
-<U0447> "<U010D>";"<U0063>" % c<
-
-<U0410> "<U0041>"
-<U0411> "<U0042>"
-<U0426> "<U0043>"
-<U0414> "<U0044>"
-<U0415> "<U0045>"
-<U0424> "<U0046>"
-<U0413> "<U0047>"
-<U0425> "<U0048>"
-<U0418> "<U0049>"
-<U041A> "<U004B>"
-<U041B> "<U004C>"
-<U041C> "<U004D>"
-<U041D> "<U004E>"
-<U041E> "<U004F>"
-<U041F> "<U0050>"
-<U0420> "<U0052>"
-<U0421> "<U0053>"
-<U0422> "<U0054>"
-<U0423> "<U0055>"
-<U0412> "<U0056>"
-<U0417> "<U005A>"
-<U0416> "<U017D>";"<U005A>" % z<
-<U0428> "<U0160>";"<U0053>" % s<
-<U0427> "<U010C>";"<U0063>" % c<
-
-translit_end
-END LC_CTYPE
-
-
-LC_COLLATE
-
-copy "iso14651_t1"
-
-collating-symbol  <d-z-sh>
-collating-symbol  <l-j-sh>
-collating-symbol  <n-j-sh>
-
-collating-symbol <cacute>
-collating-symbol <ccaron>
-collating-symbol <d//>
-collating-symbol <scaron>
-collating-symbol <zcaron>
-
-collating-symbol <CAP-MIN>
-collating-symbol <MIN-CAP>
-
-reorder-after <MIN>
-<MIN-CAP>
-reorder-after <CAP>
-<CAP-MIN>
-
-reorder-after <c>
-<cacute>
-<ccaron>
-<d>
-<d-z-sh>
-<d//>
-reorder-after <l>
-<l-j-sh>
-reorder-after <n>
-<n-j-sh>
-reorder-after <s>
-<scaron>
-reorder-after <z>
-<zcaron>
-
-reorder-after <U0063>
-<U0107>	<cacute>;<PCT>;<MIN>;IGNORE
-<U010D>	<ccaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U0043>
-<U0106>	<cacute>;<PCT>;<CAP>;IGNORE
-<U010C>	<ccaron>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U0064>
-<d-z<>	<d-z-sh>;<PCT>;<MIN>;IGNORE
-<dz<>	<d-z-sh>;<PCT>;<MIN>;IGNORE
-<d-Z<>	<d-z-sh>;<PCT>;<MIN-CAP>;IGNORE
-<U0111>	<d//>;<PCT>;<MIN>;IGNORE
-reorder-after <U0044>
-<D-Z<>	<d-z-sh>;<PCT>;<CAP>;IGNORE
-<DZ<>	<d-z-sh>;<PCT>;<CAP>;IGNORE
-<D-z<>	<d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
-<Dz<>	<d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
-<U0110>	<d//>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U006C>
-<l-j>	<l-j-sh>;<PCT>;<MIN>;IGNORE
-<lj>	<l-j-sh>;<PCT>;<MIN>;IGNORE
-<l-J>	<l-j-sh>;<PCT>;<MIN-CAP>;IGNORE
-reorder-after <U004C>
-<L-J>	<l-j-sh>;<PCT>;<CAP>;IGNORE
-<LJ>	<l-j-sh>;<PCT>;<CAP>;IGNORE
-<L-j>	<l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-<Lj>	<l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-
-reorder-after <U006E>
-<n-j>	<n-j-sh>;<PCT>;<MIN>;IGNORE
-<nj>	<n-j-sh>;<PCT>;<MIN>;IGNORE
-<n-J>	<n-j-sh>;<PCT>;<MIN-CAP>;IGNORE
-reorder-after <U004E>
-<N-J>	<n-j-sh>;<PCT>;<CAP>;IGNORE
-<NJ>	<n-j-sh>;<PCT>;<CAP>;IGNORE
-<N-j>	<n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-<Nj>	<n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-
-reorder-after <U0073>
-<U0161>	<scaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U0053>
-<U0160>	<scaron>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U007A>
-<U017E>	<zcaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U005A>
-<U017D>	<zcaron>;<PCT>;<CAP>;IGNORE
-
-reorder-end
-
-END LC_COLLATE
-
-LC_MONETARY
-int_curr_symbol           "<U0043><U0053><U0044><U0020>"
-currency_symbol           "<U0434><U0438><U043D>"
-mon_decimal_point         "<U002C>"
-mon_thousands_sep         "<U002E>"
-mon_grouping              3;3
-positive_sign             ""
-negative_sign             "<U002D>"
-int_frac_digits           2
-frac_digits               2
-p_cs_precedes             0
-p_sep_by_space            1
-n_cs_precedes             0
-n_sep_by_space            1
-p_sign_posn               1
-n_sign_posn               1
-END LC_MONETARY
-
-LC_NUMERIC
-decimal_point             "<U002C>"
-thousands_sep             ""
-grouping                  0;0
-END LC_NUMERIC
-
-LC_TIME
-
-abday   "<U043D><U0435><U0434>";"<U043F><U043E><U043D>";/
-        "<U0443><U0442><U043E>";"<U0441><U0440><U0435>";/
-        "<U0447><U0435><U0442>";"<U043F><U0435><U0442>";/
-        "<U0441><U0443><U0431>"
-day     "<U043D><U0435><U0434><U0435><U0459><U0430>";/
-        "<U043F><U043E><U043D><U0435><U0434><U0435><U0459><U0430><U043A>";/
-        "<U0443><U0442><U043E><U0440><U0430><U043A>";/
-        "<U0441><U0440><U0435><U0434><U0430>";/
-        "<U0447><U0435><U0442><U0432><U0440><U0442><U0430><U043A>";/
-        "<U043F><U0435><U0442><U0430><U043A>";/
-        "<U0441><U0443><U0431><U043E><U0442><U0430>"
-abmon   "<U0458><U0430><U043D>";"<U0444><U0435><U0431>";/
-        "<U043C><U0430><U0440>";"<U0430><U043F><U0440>";/
-        "<U043C><U0430><U0458>";"<U0458><U0443><U043D>";/
-        "<U0458><U0443><U043B>";"<U0430><U0432><U0433>";/
-        "<U0441><U0435><U043F>";"<U043E><U043A><U0442>";/
-        "<U043D><U043E><U0432>";"<U0434><U0435><U0446>"
-mon     "<U0458><U0430><U043D><U0443><U0430><U0440>";/
-        "<U0444><U0435><U0431><U0440><U0443><U0430><U0440>";/
-        "<U043C><U0430><U0440><U0442>";/
-        "<U0430><U043F><U0440><U0438><U043B>";/
-        "<U043C><U0430><U0458>";/
-        "<U0458><U0443><U043D>";/
-        "<U0458><U0443><U043B>";/
-        "<U0430><U0432><U0433><U0443><U0441><U0442>";/
-        "<U0441><U0435><U043F><U0442><U0435><U043C><U0431><U0430><U0440>";/
-        "<U043E><U043A><U0442><U043E><U0431><U0430><U0440>";/
-        "<U043D><U043E><U0432><U0435><U043C><U0431><U0430><U0440>";/
-        "<U0434><U0435><U0446><U0435><U043C><U0431><U0430><U0440>"
-
-d_t_fmt "<U0025><U0041><U002C><U0020><U0025><U0064><U002E><U0020>/
-<U0025><U0042><U0020><U0025><U0059><U002E><U0020><U0025><U0054>/
-<U0020><U0025><U005A>"
-d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059><U002E>"
-t_fmt   "<U0025><U0054>"
-am_pm   "";""
-t_fmt_ampm "<U0025><U0054>"
-date_fmt  "<U0025><U0061><U002C><U0020><U0025><U0065><U002E><U0020>/
-<U0025><U0062><U0020><U0025><U0059><U002E><U0020><U0020><U0025><U0048>/
-<U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U000A>"
-week    7;19971201;4
-first_weekday 2
-first_workday 2
-END LC_TIME
-
-LC_MESSAGES
-yesexpr "<U005E><U005B><U0414><U0434><U0044><U0064><U0059><U0079><U005D>"
-noexpr  "<U005E><U005B><U041D><U043D><U004E><U006E><U005D>"
-END LC_MESSAGES
-
-LC_PAPER
-height   297
-width    210
-END LC_PAPER
-
-LC_NAME
-name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
-<U0025><U006D><U0025><U0074><U0025><U0066>"
-name_gen    ""
-name_mr     "<U0433><U002D><U0434><U0438><U043D>"
-name_mrs    "<U0433><U002D><U0452><U0430>"
-name_miss   "<U0433><U002D><U0452><U0438><U0446><U0430>"
-name_ms     "<U0433><U002D><U0452><U0430>"
-END LC_NAME
-
-LC_ADDRESS
-postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
-<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
-<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
-<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
-<U004E><U0025><U0063><U0025><U004E>"
-country_ab2   "<U0043><U0053>"
-country_ab3   "<U0053><U0043><U0047>"
-% FIXME: country_post is probably incorrect
-country_post  "<U0053><U0043><U0047>"
-country_name  "<U0421><U0440><U0431><U0438><U0458><U0430><U0020><U0438>/
-<U0020><U0426><U0440><U043D><U0430><U0020><U0413><U043E><U0440><U0430>"
-country_num   891
-country_car   "<U0053><U0043><U0047>"
-% FIXME: ISBN code is what? "86" that preceedes all the numbers?
-country_isbn  "<U0038><U0036>"
-lang_name     "<U0441><U0440><U043F><U0441><U043A><U0438>"
-lang_term     "<U0073><U0072><U0070>"
-lang_lib      "<U0073><U0063><U0063>"
-lang_ab	      "<U0073><U0072>"
-END LC_ADDRESS
-
-LC_TELEPHONE
-tel_int_fmt    "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
-<U006C>"
-tel_dom_fmt    "<U0025><U0041><U0020><U0025><U006C>"
-int_prefix     "<U0033><U0038><U0031>"
-int_select     "<U0039><U0039>"
-END LC_TELEPHONE
-
-LC_MEASUREMENT
-measurement    1
-END LC_MEASUREMENT
diff --git a/localedata/locales/tk_TM b/localedata/locales/tk_TM
new file mode 100644
index 0000000000..cc41e65ecf
--- /dev/null
+++ b/localedata/locales/tk_TM
@@ -0,0 +1,448 @@
+comment_char %
+escape_char  /
+%
+% Turkmen Language Locale for Turkmenistan (latin)
+% Source: Gurban M. Tewekgeli
+% Contact: Pablo Saratxaga & Gurban M. Tewekgeli
+% Email: <pablo@mandriva.com & gmtavakkoli@yahoo.com>
+% Language: tk
+% Territory: TM
+% Revision: 0.4
+% Date: 2004-06-10
+% Application: general
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+%
+
+% needed extra chars: ä, ö, ü, ý, ç, ş, ň, ž
+% cyrillic extra chars: җ (z%,=), ң (n,=), ө (o-=), ү (u'=), ә (sw=)
+
+LC_IDENTIFICATION
+
+title     "Turkmen locale for Turkmenistan"
+source    "Gurban M. Tewekgeli"
+address   ""
+contact   "Pablo Saratxaga & Gurban M. Tewekgeli"
+email     "pablo@mandriva.com & gmtavakkoli@yahoo.com"
+tel       ""
+fax       ""
+language  "Turkmen"
+territory "Turkmenistan"
+revision  "0.3"
+date      "2004-06-08"
+
+category "tk_TM:2004";LC_IDENTIFICATION
+category "tk_TM:2004";LC_CTYPE
+category "tk_TM:2004";LC_COLLATE
+category "tk_TM:2004";LC_TIME
+category "tk_TM:2004";LC_NUMERIC
+category "tk_TM:2004";LC_MONETARY
+category "tk_TM:2004";LC_MEASUREMENT
+category "tk_TM:2004";LC_MESSAGES
+category "tk_TM:2004";LC_PAPER
+category "tk_TM:2004";LC_NAME
+category "tk_TM:2004";LC_ADDRESS
+category "tk_TM:2004";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_CTYPE
+copy "i18n"
+
+translit_start
+include "translit_combining";""
+
+% cyrillic -> latin
+% lower case letters
+
+<U0430> "<U0061>"        % a=   -> a
+<U0431> "<U0062>"        % b=   -> b
+<U0432> "<U0077>"        % v=   -> w
+<U0433> "<U0067>"        % g=   -> g
+<U0434> "<U0064>"        % d=   -> d
+<U0435> "<U0065>"        % e=   -> e (y'e also, but context dependent)
+<U0451> "<U00FD><U006F>" % io   -> y'o
+<U0436> "<U017E>"        % z%   -> z<
+<U0497> "<U006A>"        % z%,  -> j
+<U0437> "<U007A>"        % z=   -> z
+<U0438> "<U0069>"        % i=   -> i
+<U0439> "<U00FD>"        % j=   -> y'
+<U043A> "<U006B>"        % k=   -> k
+<U043B> "<U006C>"        % l=   -> l
+<U043C> "<U006D>"        % m=   -> m
+<U043D> "<U006E>"        % n=   -> n
+<U04A3> "<U0148>"        % n,=  -> n<
+<U043E> "<U006F>"        % o=   -> o
+<U04E9> "<U00F6>"        % o-=  -> o:
+<U043F> "<U0070>"        % p=   -> p
+<U0440> "<U0072>"        % r=   -> r
+<U0441> "<U0073>"        % s=   -> s
+<U0442> "<U0074>"        % t=   -> t
+<U0443> "<U0075>"        % u=   -> u
+<U04AF> "<U00FC>"        % u'=  -> u:
+<U0444> "<U0066>"        % f=   -> f
+<U0445> "<U0068>"        % h=   -> h
+<U0446> "<U0074><U0073>" % c=   -> ts
+<U0447> "<U00E7>"        % c%   -> c,
+<U0448> "<U015F>"        % s%   -> s,
+<U044A> ""               % hard sign omitted
+<U044B> "<U0079>"        % yeru -> y
+<U044C> ""               % soft sign omitted.
+<U044D> "<U0065>"        % je=  -> e 
+<U04D9> "<U00E4>"        % sw=  -> a:
+<U044E> "<U00FD><U0075>" % ju   -> y'u
+<U044F> "<U00FD><U0061>" % ja   -> y'a
+
+% upper case letters
+
+<U0410> "<U0041>"        % a=   -> a
+<U0411> "<U0042>"        % b=   -> b
+<U0412> "<U0057>"        % v=   -> w
+<U0413> "<U0047>"        % g=   -> g
+<U0414> "<U0044>"        % d=   -> d
+<U0415> "<U0045>"        % e=   -> e (y'e also, but context dependent)
+<U0401> "<U00DD><U006F>" % io   -> y'o
+<U0416> "<U017D>"        % z%   -> z<
+<U0496> "<U004A>"        % z%,  -> j
+<U0417> "<U005A>"        % z=   -> z
+<U0418> "<U0049>"        % i=   -> i
+<U0419> "<U00DD>"        % j=   -> y'
+<U041A> "<U004B>"        % k=   -> k
+<U041B> "<U004C>"        % l=   -> l
+<U041C> "<U004D>"        % m=   -> m
+<U041D> "<U004E>"        % n=   -> n
+<U04A2> "<U0147>"        % n,=  -> n<
+<U041E> "<U004F>"        % o=   -> o
+<U04E8> "<U00D6>"        % o-=  -> o:
+<U041F> "<U0050>"        % p=   -> p
+<U0420> "<U0052>"        % r=   -> r
+<U0421> "<U0053>"        % s=   -> s
+<U0422> "<U0054>"        % t=   -> t
+<U0423> "<U0055>"        % u=   -> u
+<U04AE> "<U00DC>"        % u'=  -> u:
+<U0424> "<U0046>"        % f=   -> f
+<U0425> "<U0048>"        % h=   -> h
+<U0426> "<U0054><U0073>" % c=   -> ts
+<U0427> "<U00C7>"        % c%   -> c,
+<U0428> "<U015E>"        % s%   -> s,
+<U042A> ""               % hard sign omitted
+<U042B> "<U0059>"        % yeru -> y
+<U042C> ""               % soft sign omitted.
+<U042D> "<U0045>"        % je=  -> e 
+<U04D8> "<U00C4>"        % sw=  -> a:
+<U042E> "<U00DD><U0075>" % ju   -> y'u
+<U042F> "<U00DD><U0061>" % ja   -> y'a
+
+translit_end
+
+END LC_CTYPE
+
+LC_COLLATE
+
+%
+% The turkmen latin alphabet order is:
+% (letters in parenthesis are not used in tk)
+% <a>, <b>, <c,> (<c>), <d>, <e>, <a:> (<sw>), <f>, <g>, <h>, <i>
+% <j>, <z<>, <k>, <l>, <m>, <n>, <n<> (<n?> <ng>), <o>, <o:>, <p>, (<q>),
+% <r>, <s>, <s,>, <t>, <u>, <u:>, (<v>) <w>, (<x>), <y>, <y'> (<y:>), <z>
+%
+% cyrillic alphabet order:
+% <a=>, <b=>, <v=>, <g=>, <d=>, <e=>, <io>, <z%>, <z%,=>, <z=>, <i=>,
+% <j=>, <k=>, <l=>, <m=>, <n=>, <n,=>, <o=>, <o-=>, <p=>, <r=>, <s=>,
+% <t=>, <u=>, <u'=>, <f=>, <h=>, <c=>, <c%>, <s%>, <='>, <y=>, <%'>,
+% <je>, <sw=>, <ju>, <ja> 
+%
+copy "iso14651_t1"
+
+collating-symbol <c,>
+collating-symbol <a:>
+collating-symbol <z<>
+collating-symbol <n<>
+collating-symbol <o:>
+collating-symbol <s,>
+collating-symbol <u:>
+collating-symbol <y'>
+%
+collating-symbol <z,=>
+collating-symbol <n,=>
+collating-symbol <o-=>
+collating-symbol <u'=>
+collating-symbol <sw=>
+
+% priority given to Turkmen accents
+reorder-after <BAS>
+<CDI>
+<CAR>
+<ACA>
+<REU>
+
+reorder-after <b>
+<c,>
+reorder-after <e>
+<a:>
+reorder-after <j>
+<z<>
+reorder-after <n>
+<n<>
+reorder-after <o>
+<o:>
+reorder-after <s>
+<s,>
+reorder-after <u>
+<u:>
+reorder-after <y>
+<y'>
+
+reorder-after <CYR-ZHE>
+<z,=>
+reorder-after <CYR-EN>
+<n,=>
+reorder-after <CYR-O>
+<o-=>
+reorder-after <CYR-OUBRE>
+<u'=>
+reorder-after <CYR-E>
+<sw=>
+
+reorder-after <U0062>
+<U00E7> <c,>;<BAS>;<MIN>;IGNORE
+<U0063> <c,>;<BAS>;<MIN>;<c>
+reorder-after <U0042>
+<U00C7> <c,>;<BAS>;<CAP>;IGNORE
+<U0043> <c,>;<BAS>;<CAP>;<c>
+
+reorder-after <U0065>
+<U00E4> <a:>;<REU>;<MIN>;IGNORE
+<U0259> <a:>;<PCL>;<MIN>;IGNORE
+reorder-after <U0045>
+<U00C4> <a:>;<REU>;<CAP>;IGNORE
+<U018F> <a:>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U006A>
+<U017E> <z<>;<CAR>;<MIN>;IGNORE
+reorder-after <U004A>
+<U017D> <z<>;<CAR>;<CAP>;IGNORE
+
+reorder-after <U006E>
+<U0147> <n<>;<CAR>;<MIN>;IGNORE
+<U00F1> <n<>;<TIL>;<MIN>;IGNORE
+<U014B> <n<>;<PCL>;<MIN>;IGNORE
+reorder-after <U004E>
+<U0148> <n<>;<CAR>;<CAP>;IGNORE
+<U00D1> <n<>;<TIL>;<CAP>;IGNORE
+<U014A> <n<>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U006F>
+<U00F6> <o:>;<REU>;<MIN>;IGNORE
+reorder-after <U004F>
+<U00D6> <o:>;<REU>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<U015F> <s,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0053>
+<U015E> <s,>;<CDI>;<CAP>;IGNORE
+
+reorder-after <U0075>
+<U00FC> <u:>;<REU>;<MIN>;IGNORE
+<U0056> <w>;<BAS>;<CAP>;<v>
+<U0057> <w>;<BAS>;<CAP>;<w>
+reorder-after <U0055>
+<U00DC> <u:>;<REU>;<CAP>;IGNORE
+<U0076> <w>;<BAS>;<MIN>;<v>
+<U0077> <w>;<BAS>;<MIN>;<w>
+
+reorder-after <U0079>
+<U00FD> <y'>;<ACA>;<MIN>;IGNORE
+<U00FF> <y'>;<REU>;<MIN>;IGNORE
+reorder-after <U0059>
+<U00DD> <y'>;<ACA>;<CAP>;IGNORE
+<U0178> <y'>;<REU>;<CAP>;IGNORE
+
+reorder-after <U0436>
+<U0497> <z,=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0416>
+<U0496> <z,=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U043D>
+<U04A3> <n,=>;<PCL>;<MIN>;IGNORE
+reorder-after <U041D>
+<U04A2> <n,=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U043E>
+<U04E9> <o-=>;<PCL>;<MIN>;IGNORE
+reorder-after <U041E>
+<U04E8> <o-=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0443>
+<U04AF> <u'=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0423>
+<U04AE> <u'=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U044D>
+<U04D9> <sw=>;<PCL>;<MIN>;IGNORE
+reorder-after <U042D>
+<U04D8> <sw=>;<PCL>;<CAP>;IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_TIME
+
+% Turkmen days are
+% Monday    => Baş Gün
+% Tuesday   => Yaş Gün
+% Wednesday => Hoş Gün
+% Thursday  => Sogap Gün
+% Friday    => Anna Gün
+% Saturday  => Ruh Gün
+% Sunday    => Dynç Gün
+
+day     "<U0044><U0079><U006E><U00E7><U0020><U0047><U00FC><U006E>";/
+        "<U0042><U0061><U015F><U0020><U0047><U00FC><U006E>";/
+        "<U0059><U0061><U015F><U0020><U0047><U00FC><U006E>";/
+        "<U0048><U006F><U015F><U0020><U0047><U00FC><U006E>";/
+        "<U0053><U006F><U0067><U0061><U0070><U0020><U0047><U00FC><U006E>";/
+        "<U0041><U006E><U006E><U0061><U0020><U0047><U00FC><U006E>";/
+        "<U0052><U0075><U0068><U0020><U0047><U00FC><U006E>"
+abday   "<U0044><U0079><U006E>";"<U0042><U0061><U015F>";/
+        "<U0059><U0061><U015F>";"<U0048><U006F><U015F>";/
+        "<U0053><U006F><U0067>";"<U0041><U006E><U006E>";/
+        "<U0052><U0075><U0068>"
+
+% Turkmen monthes are
+% January   => Türkmenbaşy
+% February  => Baýdak
+% March     => Nowruz
+% April     => Gurbansoltan Eje
+% May       => Magtymguly
+% June      => Oguz
+% July      => Gorkut
+% August    => Alp Arslan
+% September => Ruhnama
+% October   => Garaşsyzlyk
+% November  => Sanjar
+% December  => Bitaraplyk
+
+mon     "<U0054><U00FC><U0072><U006B><U006D><U0065><U006E><U0062><U0061><U015F><U0079>";/
+        "<U0042><U0061><U00FD><U0064><U0061><U006B>";/
+        "<U004E><U006F><U0077><U0072><U0075><U007A>";/
+        "U0047><U0075><U0072><U0062><U0061><U006E><U0073><U006F>/
+<U006C><U0074><U0061><U006E><U0020><U0045><U006A><U0065>";/
+        "<U004D><U0061><U0067><U0074><U0079><U006D><U0067><U0075><U006C><U0079>";/
+        "<U004F><U0067><U0075><U007A>";/
+        "<U0047><U006F><U0072><U006B><U0075><U0074>";/
+        "<U0041><U006C><U0070><U0020><U0041><U0072><U0073><U006C><U0061><U006E>";/
+        "<U0052><U0075><U0068><U006E><U0061><U006D><U0061>";/
+        "<U0047><U0061><U0072><U0061><U015F><U0073><U0079><U007A><U006C><U0079><U006B>";/
+        "<U0053><U0061><U006E><U006A><U0061><U0072>";/
+        "<U0042><U0069><U0074><U0061><U0072><U0061><U0070><U006C><U0079><U006B>"
+abmon   "<U0054><U00FC><U0072>";"<U0042><U0061><U00FD>";/
+        "<U004E><U006F><U0077>";"<U0047><U0075><U0072>";/
+        "<U004D><U0061><U0067>";"<U004F><U0067><U0075>";/
+        "<U0047><U006F><U0072>";"<U0041><U006C><U0070>";/
+        "<U0052><U0075><U0068>";"<U0047><U0061><U0072>";/
+        "<U0053><U0061><U006E>";"<U0042><U0069><U0074>"
+%
+% Turkmen date and time format
+% date  dd.mm.yyyy %d.%m.%Y %T
+% time  hh:mm:ss (24 hour - no am/pm)
+%
+d_t_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>/
+<U0020><U0025><U0054>"
+d_fmt     "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+t_fmt     "<U0025><U0054>"
+am_pm     "";""
+t_fmt_ampm ""
+END LC_TIME
+
+LC_NUMERIC
+decimal_point             "<U002E>" % .
+thousands_sep             "<U002C>" % ,
+grouping                  3;3
+END LC_NUMERIC
+
+LC_MONETARY
+int_curr_symbol           "<U0054><U004D><U004D><U0020>"        % TMM
+currency_symbol           "<U004D><U0041><U004E><U0041><U0054>" % MANAT
+mon_decimal_point         "<U002E>"                             % .
+mon_thousands_sep         "<U002C>"                             % ,
+mon_grouping              3;3
+positive_sign             ""
+negative_sign             "<U002D>"                             % -
+int_frac_digits           2
+frac_digits               2
+p_cs_precedes             0
+p_sep_by_space            1
+n_cs_precedes             0
+n_sep_by_space            1
+p_sign_posn               1
+n_sign_posn               1
+END LC_MONETARY
+
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
+
+LC_MESSAGES
+%%%%%%%%
+% NOTE:
+% there is a possible conflict between English and Turkmen for letter "y"
+% (used for "yes" in English, but corresponding to "no" in Turkmen (well,
+%  ý actually)
+%%%%%%%%
+yesstr  "<U0068><U0061><U0077><U0061>" % hawa
+nostr   "<U00FD><U006F><U006B>"        % ýok
+yesexpr "<U005E><U005B><U0068><U0048>/
+<U005D><U002E><U002A>"                 % [hH]
+noexpr  "<U005E><U005B><U00FD><U00DD>/
+<U006E><U004E><U005D><U002E><U002A>"   % [ýÝnN]
+END LC_MESSAGES
+
+LC_PAPER
+%
+% A4 Paper
+%
+height 297
+width  210
+END LC_PAPER
+
+LC_NAME
+% TODO: complete me
+name_fmt  "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
+<U0025><U006D><U0025><U0074><U0025><U0066>"
+name_gen  ""
+name_mr   ""
+name_mrs  ""
+name_miss ""
+name_ms   ""
+END LC_NAME
+
+LC_ADDRESS
+% TODO: fix me
+
+postal_fmt   "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E><U0025>/
+<U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073><U0020><U0025>/
+<U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025><U004E><U0025><U0025>/
+<U007A><U0020><U0025><U0054><U0025><U004E><U0025><U0063><U0025><U004E>"
+
+country_name "<U0054><U00FC><U0072><U006B><U006D>/
+<U0065><U006E><U0069><U0073><U0074><U0061><U006E>" % Türkmenistan
+country_post "<U0054><U004D>"                      % TM
+country_car  "<U0054><U004D>"                      % TM
+country_num  795
+country_ab2 "<U0054><U004D>"                       % TM
+country_ab3 "<U0054><U004B><U004D>"                % TKM
+lang_name   "<U0054><U00FC><U0072><U006B><U006D>/
+<U0065><U006E><U00E7><U0065>"                      % Türkmençe
+lang_term   "<U0074><U0075><U006B>"                % tuk
+lang_lib    "<U0074><U0075><U006B>"                % tuk
+lang_ab     "<U0074><U006B>"                       % tk
+END LC_ADDRESS
+
+LC_TELEPHONE
+% TODO: complete me
+tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025><U006C>"
+END LC_TELEPHONE
diff --git a/localedata/locales/ug_CN b/localedata/locales/ug_CN
new file mode 100644
index 0000000000..c4526416f9
--- /dev/null
+++ b/localedata/locales/ug_CN
@@ -0,0 +1,333 @@
+escape_char /
+comment_char %
+%
+% Uyghur language locale for China
+% Source: 
+% Contact: Pablo Saratxaga
+% Email: pablo@mandriva.com
+% Language: ug
+% Territory: CN
+% Revision: 0.1
+% Date: 2005-11-08
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title      "Uyghur locale for China"
+source     ""
+address    ""
+contact    ""
+email      "pablo@mandriva.com"
+tel        ""
+fax        ""
+language   "Uyghur"
+territory  "China"
+revision   "0.1"
+date       "2005-11-08"
+%
+category  "ug_CN:2000";LC_IDENTIFICATION
+category  "ug_CN:2000";LC_CTYPE
+category  "ug_CN:2000";LC_COLLATE
+category  "ug_CN:2000";LC_TIME
+category  "ug_CN:2000";LC_NUMERIC
+category  "ug_CN:2000";LC_MONETARY
+category  "ug_CN:2000";LC_MESSAGES
+category  "ug_CN:2000";LC_PAPER
+category  "ug_CN:2000";LC_NAME
+category  "ug_CN:2000";LC_ADDRESS
+category  "ug_CN:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_COLLATE
+
+% letters list and sort order from
+% http://en.wikipedia.org/wiki/Uyghur_language
+% sorting order guessed for old latin writting
+%
+% old latin writting is based in pinyin, with some extra letters:
+% <schwa>, <z with tail>, <gh>, <k with tail>, <h with tail>,
+% <barred o> (they seem inspired from cyrillic)
+% tail letters can be written with base letter + combining tail U+0321
+% there are also reserved codepoints U+2C67-U+2C6C for them in
+% unicode 5.0 proposal.
+% U+0224, U+0225 are also similar to ztail and are sorted the same.
+%
+% new arabic writting uses some extra letters too.
+% all vowels are noted, and in beginning of the word there is a 
+% "yeh with hamza" (U+0626) in the front; should it be ignored 
+% in sorting?
+%
+% arabic     old latin       turkic (from azeri, which has same phonemes)
+% ========== =============== ======
+% alef  0627 a               a
+% ae    06d5 schwa 018F,0259 ä
+% beh   0628 b               b
+% peh   067e p               p
+% teh   062a t               t
+% jeem  062c j               c <
+% tcheh 0686 q               ç <
+% khah  062e h               x <
+% dal   062f d               d
+% reh   0631 r               r
+% zain  0632 z               z
+% jeh   0698 ztail 0224,0225 j <
+% seen  0633 s               s
+% sheen 0634 x               ş
+% ghain 063a gh 01a2,01a3    ğ <
+% feh   0641 f               f
+% qaf   0642 ktail           q <
+% kaf   0643 k               k
+% ng    06ad ng              ñ <
+% gaf   06af g               g
+% lam   0644 l               l
+% meem  0645 m               m
+% noon  0646 n               n
+% heh   0647 htail           h <
+% waw   0648 o               o
+% u     06c7 u               u
+% oe    06c6 obar 019f,0275  ö <
+% yu    06c8 ü               ü
+% ve    06cb v               v
+% e     06d0 e               e
+% f.yeh 06cc i               i      (or alef maqsura 0649?)
+% yeh   064a y               y
+% (<): differences between old latin and turkic writting
+
+copy "iso14651_t1"
+
+collating-symbol  <schwa>
+collating-symbol  <gh>
+collating-symbol  <ng>
+collating-symbol  <ccedilla>
+collating-symbol  <scedilla>
+collating-symbol  <htail>
+collating-symbol  <ktail>
+collating-symbol  <ztail>
+collating-symbol  <obar>
+collating-symbol  <udiaresis>
+
+collating-element <h,> from "<U0068><U0321>"
+collating-element <H,> from "<U0048><U0321>"
+collating-element <k,> from "<U006B><U0321>"
+collating-element <K,> from "<U004B><U0321>"
+collating-element <z,> from "<U007A><U0321>"
+collating-element <Z,> from "<U005A><U0321>"
+
+collating-symbol  <ar_ae>
+collating-symbol  <ar_ng>
+collating-symbol  <ar_u>
+collating-symbol  <ar_oe>
+collating-symbol  <ar_yu>
+collating-symbol  <ar_ve>
+collating-symbol  <ar_e>
+collating-symbol  <ar_i>
+collating-symbol  <ar_y>
+
+% latin
+reorder-after <a>
+<schwa>
+reorder-after <c>
+<ccedilla>
+reorder-after <g>
+<gh>
+reorder-after <h>
+<htail>
+reorder-after <k>
+<ktail>
+reorder-after <n>
+<ng>
+reorder-after <o>
+<obar>
+reorder-after <s>
+<scedilla>
+reorder-after <u>
+<udiaeresis>
+reorder-after <z>
+<ztail>
+
+reorder-after <U0061>
+<U0259>   <schwa>;<PCL>;<MIN>;IGNORE
+<U00E4>   <schwa>;<REU>;<MIN>;IGNORE
+reorder-after <U0041>
+<U018F>   <schwa>;<PCL>;<CAP>;IGNORE
+<U00C4>   <schwa>;<REU>;<CAP>;IGNORE
+
+reorder-after <U0063>
+<U00E7> <ccedilla>;<CDI>;<MIN>;IGNORE
+reorder-after <U0043>
+<U00C7> <ccedilla>;<CDI>;<CAP>;IGNORE
+
+reorder-after <U0067>
+<U01A3>   <gh>;<PCL>;<MIN>;IGNORE
+<U011F>   <gh>;<BRE>;<MIN>;IGNORE
+reorder-after <U0047>
+<U01A2>   <gh>;<PCL>;<CAP>;IGNORE
+<U011E>   <gh>;<BRE>;<CAP>;IGNORE
+
+reorder-after <U0068>
+<U2C68> <htail>;<PCL>;<MIN>;IGNORE
+<h,>    <htail>;<PCL>;<MIN>;IGNORE
+reorder-after <U0048>
+<U2C67> <htail>;<PCL>;<CAP>;IGNORE
+<H,>    <htail>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U006B>
+<U2C6A> <ktail>;<PCL>;<MIN>;IGNORE
+<k,>    <ktail>;<PCL>;<MIN>;IGNORE
+reorder-after <U004B>
+<U2C69> <ktail>;<PCL>;<CAP>;IGNORE
+<K,>    <ktail>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U006E>
+<U00F1> <ng>;<TIL>;<MIN>;IGNORE
+reorder-after <U004E>
+<U00D1> <ng>;<TIL>;<CAP>;IGNORE
+
+reorder-after <U006F>
+<U0275> <obar>;<PCL>;<MIN>;IGNORE
+<U00F6> <obar>;<REU>;<MIN>;IGNORE
+reorder-after <U004F>
+<U019F> <obar>;<PCL>;<CAP>;IGNORE
+<U00D6> <obar>;<REU>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<U015F> <scedilla>;<CDI>;<MIN>;IGNORE
+reorder-after <U0053>
+<U015E> <scedilla>;<CDI>;<CAP>;IGNORE
+
+reorder-after <U0075>
+<U00FC> <udiaeresis>;<REU>;<MIN>;IGNORE
+reorder-after <U0055>
+<U00DC> <udiaeresis>;<REU>;<CAP>;IGNORE
+
+reorder-after <U007A>
+<U2C6C> <ztail>;<PCL>;<MIN>;IGNORE
+<z,>    <ztail>;<PCL>;<MIN>;IGNORE
+<U0225> <ztail>;<PCL>;<MIN>;IGNORE
+reorder-after <U005A>
+<U2C6B> <ztail>;<PCL>;<CAP>;IGNORE
+<Z,>    <ztail>;<PCL>;<CAP>;IGNORE
+<U0224> <ztail>;<PCL>;<CAP>;IGNORE
+
+% arabic
+reorder-after <alef>
+<ar_ae>
+reorder-after <keheh>
+<ar_ng>
+reorder-after <waw>
+<ar_u>
+<ar_oe>
+<ar_yu>
+<ar_ve>
+<ar_e>
+<ar_i>
+<ar_y>
+
+reorder-after <U0627>
+<U06D5> <ar_ae>;<BAS>;<MIN>;IGNORE
+reorder-after <U06A9>
+<U06AD> <ar_ng>;<BAS>;<MIN>;IGNORE
+reorder-after <U0648>
+<U06C7> <ar_u>;<BAS>;<MIN>;IGNORE
+<U06C6> <ar_oe>;<BAS>;<MIN>;IGNORE
+<U06C8> <ar_yu>;<BAS>;<MIN>;IGNORE
+<U06CB> <ar_ve>;<BAS>;<MIN>;IGNORE
+<U06D0> <ar_e>;<BAS>;<MIN>;IGNORE
+<U06CC> <ar_i>;<BAS>;<MIN>;IGNORE
+<U064A> <ar_y>;<BAS>;<MIN>;IGNORE
+ 
+reorder-end
+
+END LC_COLLATE
+
+LC_CTYPE
+% FIXME
+copy "en_DK"
+END LC_CTYPE
+
+LC_MONETARY
+copy "zh_CN"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "zh_CN"
+END LC_NUMERIC
+
+LC_TELEPHONE
+copy "zh_CN"
+END LC_TELEPHONE
+
+LC_TIME
+% FIXME
+abday    "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/
+         "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/
+         "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/
+         "<U0053><U0061><U0074>"
+day      "<U0053><U0075><U006E><U0064><U0061><U0079>";/
+         "<U004D><U006F><U006E><U0064><U0061><U0079>";/
+         "<U0054><U0075><U0065><U0073><U0064><U0061><U0079>";/
+         "<U0057><U0065><U0064><U006E><U0065><U0073><U0064><U0061><U0079>";/
+         "<U0054><U0068><U0075><U0072><U0073><U0064><U0061><U0079>";/
+         "<U0046><U0072><U0069><U0064><U0061><U0079>";/
+         "<U0053><U0061><U0074><U0075><U0072><U0064><U0061><U0079>"
+abmon    "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
+         "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
+         "<U004D><U0061><U0079>";"<U004A><U0075><U006E>";/
+         "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
+         "<U0053><U0065><U0070>";"<U004F><U0063><U0074>";/
+         "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
+mon      "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
+         "<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0079>";/
+         "<U004D><U0061><U0072><U0063><U0068>";/
+         "<U0041><U0070><U0072><U0069><U006C>";/
+         "<U004D><U0061><U0079>";/
+         "<U004A><U0075><U006E><U0065>";/
+         "<U004A><U0075><U006C><U0079>";/
+         "<U0041><U0075><U0067><U0075><U0073><U0074>";/
+         "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
+         "<U004F><U0063><U0074><U006F><U0062><U0065><U0072>";/
+         "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
+         "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
+% date formats following ISO 8601-1988
+d_t_fmt  "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064><U0054><U0025><U0054><U0020><U0025><U005A>"
+d_fmt    "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>"
+t_fmt    "<U0025><U0054>"
+am_pm    "";""
+t_fmt_ampm  ""
+date_fmt	"<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+<U0025><U005A><U0020><U0025><U0059>"
+END LC_TIME
+
+LC_MESSAGES
+% FIXME
+yesexpr  "<U005E><U005B><U0031><U004A><U006A><U0073><U0053><U0079><U0059><U006F><U004F><U005D><U002E><U002A>"
+noexpr   "<U005E><U005B><U0030><U006E><U004E><U005D><U002E><U002A>"
+yesstr      "yes"
+nostr       "no"
+END LC_MESSAGES
+
+% Default paper: A4
+LC_PAPER
+height 297
+width 210
+END LC_PAPER
+
+% Metric System (ISO 1000)
+LC_MEASUREMENT
+measurement 1
+END LC_MEASUREMENT
+
+LC_NAME
+% FIXME
+copy "en_DK"
+END LC_NAME
+
+LC_ADDRESS
+% FIXME
+copy "en_DK"
+END LC_ADDRESS
+
diff --git a/localedata/locales/yo_NG b/localedata/locales/yo_NG
new file mode 100644
index 0000000000..e43054a452
--- /dev/null
+++ b/localedata/locales/yo_NG
@@ -0,0 +1,511 @@
+escape_char /
+comment_char %
+%
+% Yoruba language locale for Nigeria
+% Source: 
+% Contact: Pablo Saratxaga
+% Email: pablo@mandriva.com
+% Language: yo
+% Territory: NG
+% Revision: 0.2
+% Date: 2005-11-21
+% Users: general
+% Charset: UTF-8
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title      "Yoruba locale for Nigeria"
+source     ""
+address    ""
+contact    ""
+email      "pablo@mandriva.com"
+tel        ""
+fax        ""
+language   "Yoruba"
+territory  "Nigeria"
+revision   "0.2"
+date       "2005-11-20"
+%
+category  "yo_NG:2000";LC_IDENTIFICATION
+category  "yo_NG:2000";LC_CTYPE
+category  "yo_NG:2000";LC_COLLATE
+category  "yo_NG:2000";LC_TIME
+category  "yo_NG:2000";LC_NUMERIC
+category  "yo_NG:2000";LC_MONETARY
+category  "yo_NG:2000";LC_MESSAGES
+category  "yo_NG:2000";LC_PAPER
+category  "yo_NG:2000";LC_NAME
+category  "yo_NG:2000";LC_ADDRESS
+category  "yo_NG:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_COLLATE
+
+% Yoruba uses the following extra letters:
+% edotbelow, odotbelow, sdotbelow
+% plus acute and grave combining marks over vowels and n
+% of those, the following have precombined forms:
+% aacute, eacute, iacute, oacute, uacute, nacute
+% agrave, egrave, igrave, ograve, ugrave, ngrave
+% * m and n may be nazalization marks when they follow a vowel;
+%   or they can be vocalic, in such case they get the three
+%   tones, and middle tone is marked with a macron
+% * a same vowel with following up/down or down/up tones 
+%   may be written with respectively a circumflex or a caron,
+%   eg: áà = â, àá = ǎ
+% * old orthography also has tilde on vowels, but is deprecated
+%   (not implemented in this yo_NG file)
+% * info from: http://www.eki.ee/letter
+%
+% order: a, b, c, d, e, e., f, g, gb, h, i, j, k, l, m, n, o, o., p
+% [q], r, s, s., t, u, [v], w, [x], y, [z]
+
+copy "iso14651_t1"
+
+% digraphs (gb)
+collating-symbol  <g-b-yo>
+collating-element <G-B> from "<U0047><U0042>"
+collating-element <g-b> from "<U0067><U0062>"
+collating-element <G-b> from "<U0047><U0062>"
+collating-element <g-B> from "<U0067><U0042>"
+% belowdot (ẹ, ọ, ș)
+collating-symbol  <ebelowdot>
+collating-element <E_>  from "<U0045><U0323>"
+collating-element <e_>  from "<U0065><U0323>"
+collating-element <E_'> from "<U1EB8><U0301>"
+collating-element <e_'> from "<U1EB9><U0301>"
+collating-element <E_`> from "<U1EB8><U0300>"
+collating-element <e_`> from "<U1EB9><U0300>"
+collating-element <E_2'> from "<U0045><U0323><U0301>"
+collating-element <e_2'> from "<U0065><U0323><U0301>"
+collating-element <E_2`> from "<U0045><U0323><U0300>"
+collating-element <e_2`> from "<U0065><U0323><U0300>"
+collating-symbol  <obelowdot>
+collating-element <O_>  from "<U004F><U0323>"
+collating-element <o_>  from "<U006F><U0323>"
+collating-element <O_'> from "<U1ECC><U0301>"
+collating-element <o_'> from "<U1ECD><U0301>"
+collating-element <O_`> from "<U1ECC><U0300>"
+collating-element <o_`> from "<U1ECD><U0300>"
+collating-element <O_2'> from "<U004F><U0323><U0301>"
+collating-element <o_2'> from "<U006F><U0323><U0301>"
+collating-element <O_2`> from "<U004F><U0323><U0300>"
+collating-element <o_2`> from "<U006F><U0323><U0300>"
+collating-symbol  <sbelowdot>
+collating-element <S_> from "<U0053><U0323>"
+collating-element <s_> from "<U0073><U0323>"
+% acute (áéíḿńóú; for acute on ẹọ look above)
+collating-element <A'> from "<U0041><U0301>"
+collating-element <a'> from "<U0061><U0301>"
+collating-element <E'> from "<U0045><U0301>"
+collating-element <e'> from "<U0065><U0301>"
+collating-element <I'> from "<U0049><U0301>"
+collating-element <i'> from "<U0069><U0301>"
+collating-element <M'> from "<U004D><U0301>"
+collating-element <m'> from "<U006D><U0301>"
+collating-element <N'> from "<U004E><U0301>"
+collating-element <n'> from "<U006E><U0301>"
+collating-element <O'> from "<U004F><U0301>"
+collating-element <o'> from "<U006F><U0301>"
+collating-element <U'> from "<U0055><U0301>"
+collating-element <u'> from "<U0075><U0301>"
+% grave (àèìm̀ǹòù; for grave on ẹọ look above)
+collating-element <A`> from "<U0041><U0300>"
+collating-element <a`> from "<U0061><U0300>"
+collating-element <E`> from "<U0045><U0300>"
+collating-element <e`> from "<U0065><U0300>"
+collating-element <I`> from "<U0049><U0300>"
+collating-element <i`> from "<U0069><U0300>"
+collating-element <M`> from "<U004D><U0300>"
+collating-element <m`> from "<U006D><U0300>"
+collating-element <N`> from "<U004E><U0300>"
+collating-element <n`> from "<U006E><U0300>"
+collating-element <O`> from "<U004F><U0300>"
+collating-element <o`> from "<U006F><U0300>"
+collating-element <U`> from "<U0055><U0300>"
+collating-element <u`> from "<U0075><U0300>"
+% macron (m̅, n̅; not implemented on other letters)
+collating-element <M-> from "<U004D><U0304>"
+collating-element <m-> from "<U006D><U0304>"
+collating-element <N-> from "<U004E><U0304>"
+collating-element <n-> from "<U006E><U0304>"
+% circumflex (âêệîôộû)
+collating-element <A/>> from "<U0041><U0302>"
+collating-element <a/>> from "<U0061><U0302>"
+collating-element <E/>> from "<U0045><U0302>"
+collating-element <e/>> from "<U0065><U0302>"
+collating-element <E_/>> from "<U1EB8><U0302>"
+collating-element <e_/>> from "<U1EB9><U0302>"
+collating-element <I/>> from "<U0049><U0302>"
+collating-element <i/>> from "<U0069><U0302>"
+collating-element <O/>> from "<U004F><U0302>"
+collating-element <o/>> from "<U006F><U0302>"
+collating-element <O_/>> from "<U1ECC><U0302>"
+collating-element <o_/>> from "<U1ECD><U0302>"
+collating-element <U/>> from "<U0055><U0302>"
+collating-element <u/>> from "<U0075><U0302>"
+% caron (ǎěẹ̌ǐǒọ̌ǔ)
+collating-element <A<> from "<U0041><U030C>"
+collating-element <a<> from "<U0061><U030C>"
+collating-element <E<> from "<U0045><U030C>"
+collating-element <e<> from "<U0065><U030C>"
+collating-element <E_<> from "<U1EB8><U030C>"
+collating-element <e_<> from "<U1EB9><U030C>"
+collating-element <I<> from "<U0049><U030C>"
+collating-element <i<> from "<U0069><U030C>"
+collating-element <O<> from "<U004F><U030C>"
+collating-element <o<> from "<U006F><U030C>"
+collating-element <O_<> from "<U1ECC><U030C>"
+collating-element <o_<> from "<U1ECD><U030C>"
+collating-element <U<> from "<U0055><U030C>"
+collating-element <u<> from "<U0075><U030C>"
+% tilde (not implemented; old orthography)
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+ 
+reorder-after <BAS>
+<ACA>
+<MAC>
+<GRA>
+
+reorder-after <MIN>
+<MIN-CAP>
+ 
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <e>
+<ebelowdot>
+reorder-after <g>
+<g-b-yo>
+reorder-after <o>
+<obelowdot>
+reorder-after <s>
+<sbelowdot>
+
+reorder-after <U0061>
+<U00E1> <a>;<ACA>;<MIN>;IGNORE
+<a'>    <a>;<ACA>;<MIN>;IGNORE
+<U00E2> "<a><a>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<a/>>   "<a><a>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<U00E0> <a>;<GRA>;<MIN>;IGNORE
+<a`>    <a>;<GRA>;<MIN>;IGNORE
+<U01CE> "<a><a>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+<a<>    "<a><a>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+reorder-after <U0041>
+<U00C1> <a>;<ACA>;<CAP>;IGNORE
+<A'>    <a>;<ACA>;<CAP>;IGNORE
+<U00C2> "<a><a>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<A/>>   "<a><a>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<U00C0> <a>;<GRA>;<CAP>;IGNORE
+<A`>    <a>;<GRA>;<CAP>;IGNORE
+<U01CD> "<a><a>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+<A<>    "<a><a>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+
+reorder-after <U0065>
+<U00E9> <e>;<ACA>;<MIN>;IGNORE
+<e'>    <e>;<ACA>;<MIN>;IGNORE
+<U00EA> "<e><e>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<e/>>   "<e><e>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<U00E8> <e>;<GRA>;<MIN>;IGNORE
+<e`>    <e>;<GRA>;<MIN>;IGNORE
+<U011B> "<e><e>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+<e<>    "<e><e>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+<U1EB9> <ebelowdot>;<BAS>;<MIN>;IGNORE
+<e_>    <ebelowdot>;<BAS>;<MIN>;IGNORE
+<e_'>   <ebelowdot>;<ACA>;<MIN>;IGNORE
+<e_2'>  <ebelowdot>;<ACA>;<MIN>;IGNORE
+<e_/>>  "<ebelowdot><ebelowdot>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<e_`>   <ebelowdot>;<GRA>;<MIN>;IGNORE
+<e_2`>  <ebelowdot>;<GRA>;<MIN>;IGNORE
+<e_<>   "<ebelowdot><ebelowdot>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+reorder-after <U0045>
+<U00C9> <e>;<ACA>;<CAP>;IGNORE
+<E'>    <e>;<ACA>;<CAP>;IGNORE
+<U00CA> "<e><e>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<E/>>   "<e><e>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<U00C8> <e>;<GRA>;<CAP>;IGNORE
+<E`>    <e>;<GRA>;<CAP>;IGNORE
+<U011A> "<e><e>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+<E<>    "<e><e>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+<U1EB8> <ebelowdot>;<BAS>;<CAP>;IGNORE
+<E_>    <ebelowdot>;<CAP>;<CAP>;IGNORE
+<E_'>   <ebelowdot>;<ACA>;<CAP>;IGNORE
+<E_2'>  <ebelowdot>;<ACA>;<CAP>;IGNORE
+<E_/>>  "<ebelowdot><ebelowdot>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<E_`>   <ebelowdot>;<GRA>;<CAP>;IGNORE
+<E_2`>  <ebelowdot>;<GRA>;<CAP>;IGNORE
+<E_<>   "<ebelowdot><ebelowdot>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+
+reorder-after <U0067>
+<g-b>   <g-b-yo>;<PCL>;<MIN>;IGNORE
+<g-B>   <g-b-yo>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0047>
+<G-B>   <g-b-yo>;<PCL>;<CAP>;IGNORE
+<G-b>   <g-b-yo>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U0069>
+<U00ED> <i>;<ACA>;<MIN>;IGNORE
+<i'>    <i>;<ACA>;<MIN>;IGNORE
+<U00EE> "<i><i>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<i/>>   "<i><i>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<U00EC> <i>;<GRA>;<MIN>;IGNORE
+<i`>    <i>;<GRA>;<MIN>;IGNORE
+<U01D0> "<i><i>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+<i<>    "<i><i>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+reorder-after <U0049>
+<U00CD> <i>;<ACA>;<CAP>;IGNORE
+<I'>    <i>;<ACA>;<CAP>;IGNORE
+<U00CE> "<i><i>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<I/>>   "<i><i>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<U00CC> <i>;<GRA>;<CAP>;IGNORE
+<I`>    <i>;<GRA>;<CAP>;IGNORE
+<U01CF> "<i><i>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+<I<>    "<i><i>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+
+reorder-after <U006D>
+<U1E3F> <m>;<ACA>;<MIN>;IGNORE
+<m'>    <m>;<ACA>;<MIN>;IGNORE
+<m->    <m>;<MAC>;<MIN>;IGNORE
+<m`>    <m>;<GRA>;<MIN>;IGNORE
+reorder-after <U004E>
+<U1E3E> <m>;<ACA>;<CAP>;IGNORE
+<M'>    <m>;<ACA>;<CAP>;IGNORE
+<M->    <m>;<MAC>;<CAP>;IGNORE
+<M`>    <m>;<GRA>;<CAP>;IGNORE
+
+reorder-after <U006E>
+<U0144> <n>;<ACA>;<MIN>;IGNORE
+<n'>    <n>;<ACA>;<MIN>;IGNORE
+<n->    <n>;<MAC>;<MIN>;IGNORE
+<U01F9> <n>;<GRA>;<MIN>;IGNORE
+<n`>    <n>;<GRA>;<MIN>;IGNORE
+reorder-after <U004E>
+<U0143> <n>;<ACA>;<CAP>;IGNORE
+<N'>    <n>;<ACA>;<CAP>;IGNORE
+<N->    <n>;<MAC>;<CAP>;IGNORE
+<U01F8> <n>;<GRA>;<CAP>;IGNORE
+<N`>    <n>;<GRA>;<CAP>;IGNORE
+
+reorder-after <U006F>
+<U00F3> <o>;<ACA>;<MIN>;IGNORE
+<o'>    <o>;<ACA>;<MIN>;IGNORE
+<U00F4> "<o><o>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<o/>>   "<o><o>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<U00F2> <o>;<GRA>;<MIN>;IGNORE
+<o`>    <o>;<GRA>;<MIN>;IGNORE
+<U01D2> "<o><o>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+<o<>    "<o><o>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+<U1ECD> <obelowdot>;<BAS>;<MIN>;IGNORE
+<o_>    <obelowdot>;<BAS>;<MIN>;IGNORE
+<o_'>   <obelowdot>;<ACA>;<MIN>;IGNORE
+<o_2'>  <obelowdot>;<ACA>;<MIN>;IGNORE
+<o_/>>  "<obelowdot><obelowdot>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<o_`>   <obelowdot>;<GRA>;<MIN>;IGNORE
+<o_2`>  <obelowdot>;<GRA>;<MIN>;IGNORE
+<o_<>   "<obelowdot><obelowdot>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+reorder-after <U004F>
+<U00D3> <o>;<ACA>;<CAP>;IGNORE
+<O'>    <o>;<ACA>;<CAP>;IGNORE
+<U00D4> "<o><o>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<O/>>   "<o><o>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<U00D2> <o>;<GRA>;<CAP>;IGNORE
+<O`>    <o>;<GRA>;<CAP>;IGNORE
+<U01D1> "<o><o>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+<O<>    "<o><o>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+<U1ECC> <obelowdot>;<BAS>;<CAP>;IGNORE
+<O_>    <obelowdot>;<BAS>;<CAP>;IGNORE
+<O_'>   <obelowdot>;<ACA>;<CAP>;IGNORE
+<O_2'>  <obelowdot>;<ACA>;<CAP>;IGNORE
+<O_/>>  "<obelowdot><obelowdot>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<O_`>   <obelowdot>;<GRA>;<CAP>;IGNORE
+<O_2`>  <obelowdot>;<GRA>;<CAP>;IGNORE
+<O_<>   "<obelowdot><obelowdot>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+
+reorder-after <U0073>
+<U1E63> <sbelowdot>;<BAS>;<MIN>;IGNORE
+<s_>    <sbelowdot>;<BAS>;<MIN>;IGNORE
+reorder-after <U0053>
+<U1E62> <sbelowdot>;<BAS>;<CAP>;IGNORE
+<S_>    <sbelowdot>;<BAS>;<CAP>;IGNORE
+
+reorder-after <U0075>
+<U00FA> <u>;<ACA>;<MIN>;IGNORE
+<u'>    <u>;<ACA>;<MIN>;IGNORE
+<U00FB> "<u><u>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<u/>>   "<u><u>";"<ACA><GRA>";"<MIN><MIN>";IGNORE
+<U00F9> <u>;<GRA>;<MIN>;IGNORE
+<u`>    <u>;<GRA>;<MIN>;IGNORE
+<U01D4> "<u><u>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+<u<>    "<u><u>";"<GRA><ACA>";"<MIN><MIN>";IGNORE
+reorder-after <U0055>
+<U00DA> <u>;<ACA>;<CAP>;IGNORE
+<U'>    <u>;<ACA>;<CAP>;IGNORE
+<U00DB> "<u><u>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<U/>>   "<u><u>";"<ACA><GRA>";"<CAP><CAP>";IGNORE
+<U00D9> <u>;<GRA>;<CAP>;IGNORE
+<U`>    <u>;<GRA>;<CAP>;IGNORE
+<U01D3> "<u><u>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+<U<>    "<u><u>";"<GRA><ACA>";"<CAP><CAP>";IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_NG"
+END LC_CTYPE
+
+LC_MONETARY
+copy "en_NG"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "en_NG"
+END LC_NUMERIC
+
+LC_TELEPHONE
+copy "en_NG"
+END LC_TELEPHONE
+ 
+LC_TIME
+% SUN, MON, TUE, WED, THU, FRI, SAT
+abday       "<U0053><U0055><U004E>";"<U004D><U004F><U004E>";/
+            "<U0054><U0055><U0045>";"<U0057><U0045><U0044>";/
+            "<U0054><U0048><U0055>";"<U0046><U0052><U0049>";/
+            "<U0053><U0041><U0054>"
+% Àìkú, Ajé, Ìṣẹ́gun, Ọjọ́rú, Ọjọ́bọ̀, Ẹ̀tì, Àbámẹ́ta
+day         "<U00C0><U00EC><U006B><U00FA>";"<U0041><U006A><U00E9>";/
+            "<U00CC><U1E63><U1EB9><U0301><U0067><U0075><U006E>";/
+            "<U1ECC><U006A><U1ECD><U0301><U0072><U00FA>";/
+            "<U1ECC><U006A><U1ECD><U0301><U0062><U1ECD><U0300>";/
+            "<U1EB8><U0300><U0074><U00EC>";/
+            "<U00C0><U0062><U00E1><U006D><U1EB9><U0301><U0074><U0061>"
+% JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
+abmon       "<U004A><U0041><U004E>";"<U0046><U0045><U0042>";/
+            "<U004D><U0041><U0052>";"<U0041><U0050><U0052>";/
+            "<U004D><U0041><U0059>";"<U004A><U0055><U004E>";/
+            "<U004A><U0055><U004C>";"<U0041><U0055><U0047>";/
+            "<U0053><U0045><U0050>";"<U004F><U0043><U0054>";/
+            "<U004E><U004F><U0056>";"<U0044><U0045><U0043>"
+% Jánúárì, Fẹ́búárì, Máàṣì, Épírì, Méè, Júùnù, Júláì,
+% Ọ́ọ́gọsì, Sẹ̀tẹ̀ńbà, Ọtóbà, Nòfẹ̀ńbà, Dìsẹ̀ńbà
+mon         "<U004A><U00E1><U006E><U00FA><U00E1><U0072><U00EC>";/
+            "<U0046><U1EB9><U0301><U0062><U00FA><U00E1><U0072><U00EC>";/
+            "<U004D><U00E1><U00E0><U1E63><U00EC>";/
+            "<U00C9><U0070><U00ED><U0072><U00EC>";/
+            "<U004D><U00E9><U00E8>";/
+            "<U004A><U00FA><U00F9><U006E><U00F9>";/
+            "<U004A><U00FA><U006C><U00E1><U00EC>";/
+            "<U1ECC><U0301><U1ECD><U0301><U0067><U1ECD><U0073><U00EC>";/
+            "<U0053><U1EB9><U0300><U0074><U1EB9><U0300><U0144><U0062><U00E0>";/
+            "<U1ECC><U0074><U00F3><U0062><U00E0>";/
+            "<U004E><U00F2><U0066><U1EB9><U0300><U0144><U0062><U00E0>";/
+            "<U0044><U00EC><U0073><U1EB9><U0300><U0144><U0062><U00E0>"
+% ọjọ́ %A, %d oṣù %B ọdún %Y
+d_t_fmt     "<U1ECD><U006A><U1ECD><U0301><U0020><U0025><U0041><U002C><U0020><U0025><U0064><U0020><U006F><U1E63><U00F9><U0020><U0025><U0042><U0020><U1ECD><U0064><U00FA><U006E><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+t_fmt       "<U0025><U0072>"
+am_pm       "<U0041><U004D>";"<U0050><U004D>"
+t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+END LC_TIME
+
+% FIXME
+LC_MESSAGES
+% yes: Bẹ́ẹ̀ ni
+yesstr      "<U0042><U1EB9><U0301><U1EB9><U0300><U0020><U006E><U0069>"
+% ^[EeYy]
+yesexpr     "<U005E><U005B><U0045><U0065><U0079><U0059><U005D><U002E><U002A>"
+% Bẹ́ẹ̀ kọ́
+nostr       "<U0042><U1EB9><U0301><U1EB9><U0300><U0020><U006B><U1ECD><U0301>"
+% ^[RrOoKkNn]
+noexpr      "<U005E><U005B><U0072><U0052><U004F><U006F><U004B><U006B><U004E><U006E><U005D><U002E><U002A>"
+END LC_MESSAGES
+
+LC_PAPER
+copy "en_NG"
+END LC_PAPER
+
+LC_MEASUREMENT
+copy "en_NG"
+END LC_MEASUREMENT
+
+LC_NAME
+% FIXME
+copy "en_NG"
+END LC_NAME
+
+LC_ADDRESS
+% FIXME
+% Representation of postal addresses (minus the addressee's name) in South
+% Africa. (Ignored for now)
+% "%f%N%a%N%d%N%b%N%s %h %e %r%N%%z %T%N%c%N", which gives -
+%
+% "firm name",
+% "end of line",
+% "C/O address",
+% "end of line",
+% "department name",
+% "Building name",
+% "end of line",
+% "street or block name",
+% "space",
+% "house number or designation",
+% "space",
+% "floor number",
+% "space",
+% "room number, door designation",
+% "end of line",
+% "postal code",
+% "space",
+% "town, city",
+% "end of line",
+% "country designation for the <country_post> keyword",
+% "end of line
+postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+
+% FIXME
+% Country name in Yoruba - "Nigeria"
+country_name  "<U004E><U0069><U0067><U0065><U0072><U0069><U0061>"
+
+% Language name in Yoruba - "Yorùbá"
+lang_name     "<U0059><U006F><U0072><U00F9><U0062><U00E1>"
+
+% CEPT MAILCODES are suggested
+% Alternatively use the code found on your countries postal item tracking number
+% "NG"?
+%country_post   "<U004E><U0047>"
+
+% UN Geneve 1949:68 Distinguishing signs of vehicles in international traffic
+% http://www.unece.org/trans/conventn/Distsigns_Sept2003.pdf
+% "WAN"
+country_car   "<U0057><U0041><U004E>"
+
+% ISO 2108
+% http://www.isbn-international.org/
+country_isbn  978
+
+% ISO 639 language abbreviations:
+% 639-1 2 letter, 639-2 3 letter terminology
+% http://www.loc.gov/standards/iso639-2/englagn.html
+% "yo", "yor"
+lang_ab       "<U0079><U006F>"
+lang_term     "<U0079><U006F><U0072>"
+lang_lib      "<U0079><U006F><U0072>"
+
+% ISO 3166 country number and 2 and 3 letter abreviations
+% http://www.unicode.org/onlinedat/countries.html
+% "NG", "NGA"
+country_ab2   "<U004E><U0047>"
+country_ab3   "<U004E><U0047><U0041>"
+country_num   566
+
+END LC_ADDRESS
+
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 0755fd8f8d..39d5b3fa52 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -3503,6 +3503,10 @@ mremap_chunk(p, new_size) mchunkptr p; size_t new_size;
   /* Note the extra SIZE_SZ overhead as in mmap_chunk(). */
   new_size = (new_size + offset + SIZE_SZ + page_mask) & ~page_mask;
 
+  /* No need to remap if the number of pages does not change.  */
+  if (size + offset == new_size)
+    return p;
+
   cp = (char *)mremap((char *)p - offset, size + offset, new_size,
                       MREMAP_MAYMOVE);
 
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index a18eb2d87e..585ecedd2c 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -132,7 +132,10 @@
 #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
 #define __bos0(ptr) __builtin_object_size (ptr, 0)
 
-#if __GNUC_PREREQ (4,3)
+#if __GNUC_PREREQ (4,3) \
+    || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
+	&& __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
+	&& __GNUC_RH_RELEASE__ >= 31)
 # define __warndecl(name, msg) \
   extern void name (void) __attribute__((__warning__ (msg)))
 # define __warnattr(msg) __attribute__((__warning__ (msg)))
@@ -294,11 +297,19 @@
 #if !defined __cplusplus || __GNUC_PREREQ (4,3) \
     || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
 	&& __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
-	&& __GNUC_RH_RELEASE__ >= 24)
+	&& __GNUC_RH_RELEASE__ >= 31)
 # if defined __GNUC_STDC_INLINE__ || defined __cplusplus
 #  define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
-#  define __extern_always_inline \
+#  if __GNUC_PREREQ (4,3) \
+	|| (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
+	    && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
+	    && __GNUC_RH_RELEASE__ >= 31)
+#   define __extern_always_inline \
+  extern __always_inline __attribute__ ((__gnu_inline__, __artificial__))
+#  else
+#   define __extern_always_inline \
   extern __always_inline __attribute__ ((__gnu_inline__))
+#  endif
 # else
 #  define __extern_inline extern __inline
 #  define __extern_always_inline extern __always_inline
@@ -310,7 +321,7 @@
 #if __GNUC_PREREQ (4,3) \
     || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
 	&& __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
-	&& __GNUC_RH_RELEASE__ >= 24)
+	&& __GNUC_RH_RELEASE__ >= 31)
 # define __va_arg_pack() __builtin_va_arg_pack ()
 # define __va_arg_pack_len() __builtin_va_arg_pack_len ()
 #endif
@@ -361,6 +372,10 @@
   extern __typeof (name) name __asm (__ASMNAME (#alias));
 #  define __LDBL_REDIR_DECL(name) \
   extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name));
+#  define __REDIRECT_LDBL(name, proto, alias) \
+  __LDBL_REDIR1 (name, proto, __nldbl_##alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
 # endif
 #endif
 #if !defined __LDBL_COMPAT || !defined __REDIRECT
@@ -369,6 +384,11 @@
 # define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
 # define __LDBL_REDIR_NTH(name, proto) name proto __THROW
 # define __LDBL_REDIR_DECL(name)
+# ifdef __REDIRECT
+#  define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)
+#  define __REDIRECT_NTH_LDBL(name, proto, alias) \
+  __REDIRECT_NTH (name, proto, alias)
+# endif
 #endif
 
 #endif	 /* sys/cdefs.h */
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 47bd0a4adc..66dcc7ff7b 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -2381,7 +2381,7 @@ msgstr "Tipo de Tabela      : %s\n"
 
 #: posix/../sysdeps/posix/gai_strerror.c:31
 msgid "Temporary failure in name resolution"
-msgstr "Falha temporrio na resoluo de nome"
+msgstr "Falha temporria na resoluo de nome"
 
 #: stdio-common/../sysdeps/unix/siglist.c:40
 #: sysdeps/unix/sysv/linux/siglist.h:34
diff --git a/string/bits/string3.h b/string/bits/string3.h
index 876fe77929..a5593e3b89 100644
--- a/string/bits/string3.h
+++ b/string/bits/string3.h
@@ -45,65 +45,27 @@ __warndecl (__warn_memset_zero_len,
 #endif
 
 
-#ifdef __cplusplus
 __extern_always_inline void *
 __NTH (memcpy (void *__restrict __dest, __const void *__restrict __src,
 	       size_t __len))
 {
   return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
 }
-#else
-# define memcpy(dest, src, len) \
-  ((__bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memcpy_chk (dest, src, len, __bos0 (dest))		\
-   : __memcpy_ichk (dest, src, len))
-static __always_inline void *
-__NTH (__memcpy_ichk (void *__restrict __dest, __const void *__restrict __src,
-		      size_t __len))
-{
-  return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
-}
-#endif
 
-#ifdef __cplusplus
 __extern_always_inline void *
 __NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
 		size_t __len))
 {
   return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
 }
-#else
-# define memmove(dest, src, len) \
-  ((__bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memmove_chk (dest, src, len, __bos0 (dest))		\
-   : __memmove_ichk (dest, src, len))
-static __always_inline void *
-__NTH (__memmove_ichk (void *__dest, __const void *__src, size_t __len))
-{
-  return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
-}
-#endif
 
 #ifdef __USE_GNU
-# ifdef __cplusplus
 __extern_always_inline void *
 __NTH (mempcpy (void *__restrict __dest, __const void *__restrict __src,
 		size_t __len))
 {
   return __builtin___mempcpy_chk (__dest, __src, __len, __bos0 (__dest));
 }
-# else
-#  define mempcpy(dest, src, len) \
-  ((__bos0 (dest) != (size_t) -1)					\
-   ? __builtin___mempcpy_chk (dest, src, len, __bos0 (dest))		\
-   : __mempcpy_ichk (dest, src, len))
-static __always_inline void *
-__NTH (__mempcpy_ichk (void *__restrict __dest,
-		       __const void *__restrict __src, size_t __len))
-{
-  return __builtin___mempcpy_chk (__dest, __src, __len, __bos0 (__dest));
-}
-# endif
 #endif
 
 
@@ -112,7 +74,6 @@ __NTH (__mempcpy_ichk (void *__restrict __dest,
    especially problematic if the intended fill value is zero.  In this
    case no work is done at all.  We detect these problems by referring
    non-existing functions.  */
-#ifdef __cplusplus
 __extern_always_inline void *
 __NTH (memset (void *__dest, int __ch, size_t __len))
 {
@@ -123,103 +84,43 @@ __NTH (memset (void *__dest, int __ch, size_t __len))
     }
   return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
 }
-#else
-# define memset(dest, ch, len) \
-  (__builtin_constant_p (len) && (len) == 0				      \
-   ? (__warn_memset_zero_len (), (void) (ch), (void) (len), (void *) (dest))  \
-   : ((__bos0 (dest) != (size_t) -1)					      \
-      ? __builtin___memset_chk (dest, ch, len, __bos0 (dest))		      \
-      : __memset_ichk (dest, ch, len)))
-static __always_inline void *
-__NTH (__memset_ichk (void *__dest, int __ch, size_t __len))
-{
-  return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
-}
-#endif
 
 #ifdef __USE_BSD
-# ifdef __cplusplus
 __extern_always_inline void
 __NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
 	      size_t __len))
 {
-  __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
+  (void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
 }
+
 __extern_always_inline void
 __NTH (bzero (void *__dest, size_t __len))
 {
-  __builtin___memset_chk (__dest, '\0', __len, __bos0 (__dest));
+  (void) __builtin___memset_chk (__dest, '\0', __len, __bos0 (__dest));
 }
-# else
-#  define bcopy(src, dest, len) ((void) \
-  ((__bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memmove_chk (dest, src, len, __bos0 (dest))		\
-   : __memmove_ichk (dest, src, len)))
-#  define bzero(dest, len) ((void) \
-  ((__bos0 (dest) != (size_t) -1)					\
-   ? __builtin___memset_chk (dest, '\0', len, __bos0 (dest))		\
-   : __memset_ichk (dest, '\0', len)))
-# endif
 #endif
 
-#ifdef __cplusplus
 __extern_always_inline char *
 __NTH (strcpy (char *__restrict __dest, __const char *__restrict __src))
 {
   return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
 }
-#else
-# define strcpy(dest, src) \
-  ((__bos (dest) != (size_t) -1)					\
-   ? __builtin___strcpy_chk (dest, src, __bos (dest))			\
-   : __strcpy_ichk (dest, src))
-static __always_inline char *
-__NTH (__strcpy_ichk (char *__restrict __dest, __const char *__restrict __src))
-{
-  return __builtin___strcpy_chk (__dest, __src, __bos (__dest));
-}
-#endif
 
 #ifdef __USE_GNU
-# ifdef __cplusplus
 __extern_always_inline char *
 __NTH (stpcpy (char *__restrict __dest, __const char *__restrict __src))
 {
   return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
 }
-# else
-#  define stpcpy(dest, src) \
-  ((__bos (dest) != (size_t) -1)					\
-   ? __builtin___stpcpy_chk (dest, src, __bos (dest))			\
-   : __stpcpy_ichk (dest, src))
-static __always_inline char *
-__NTH (__stpcpy_ichk (char *__restrict __dest, __const char *__restrict __src))
-{
-  return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
-}
-# endif
 #endif
 
 
-#ifdef __cplusplus
 __extern_always_inline char *
 __NTH (strncpy (char *__restrict __dest, __const char *__restrict __src,
 		size_t __len))
 {
   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
 }
-#else
-# define strncpy(dest, src, len) \
-  ((__bos (dest) != (size_t) -1)					\
-   ? __builtin___strncpy_chk (dest, src, len, __bos (dest))		\
-   : __strncpy_ichk (dest, src, len))
-static __always_inline char *
-__NTH (__strncpy_ichk (char *__restrict __dest, __const char *__restrict __src,
-		       size_t __len))
-{
-  return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
-}
-#endif
 
 // XXX We have no corresponding builtin yet.
 extern char *__stpncpy_chk (char *__dest, __const char *__src, size_t __n,
@@ -238,41 +139,16 @@ __NTH (stpncpy (char *__dest, __const char *__src, size_t __n))
 }
 
 
-#ifdef __cplusplus
 __extern_always_inline char *
 __NTH (strcat (char *__restrict __dest, __const char *__restrict __src))
 {
   return __builtin___strcat_chk (__dest, __src, __bos (__dest));
 }
-#else
-# define strcat(dest, src) \
-  ((__bos (dest) != (size_t) -1)					\
-   ? __builtin___strcat_chk (dest, src, __bos (dest))			\
-   : __strcat_ichk (dest, src))
-static __always_inline char *
-__NTH (__strcat_ichk (char *__restrict __dest, __const char *__restrict __src))
-{
-  return __builtin___strcat_chk (__dest, __src, __bos (__dest));
-}
-#endif
 
 
-#ifdef __cplusplus
 __extern_always_inline char *
 __NTH (strncat (char *__restrict __dest, __const char *__restrict __src,
 		size_t __len))
 {
   return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
 }
-#else
-# define strncat(dest, src, len) \
-  ((__bos (dest) != (size_t) -1)					\
-   ? __builtin___strncat_chk (dest, src, len, __bos (dest))		\
-   : __strncat_ichk (dest, src, len))
-static __always_inline char *
-__NTH (__strncat_ichk (char *__restrict __dest, __const char *__restrict __src,
-		       size_t __len))
-{
-  return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
-}
-#endif
diff --git a/string/strcoll_l.c b/string/strcoll_l.c
index c46921dcc9..8bd84b10aa 100644
--- a/string/strcoll_l.c
+++ b/string/strcoll_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,96,97,2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1995,96,97,2002, 2004, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -128,7 +128,7 @@ STRCOLL (s1, s2, l)
 
      Please note that the localedef programs makes sure that `position'
      is not used at the first level.  */
-  if (! __libc_use_alloca (s1len + s2len))
+  if (! __libc_use_alloca ((s1len + s2len) * (sizeof (int32_t) + 1)))
     {
       idx1arr = (int32_t *) malloc ((s1len + s2len) * (sizeof (int32_t) + 1));
       idx2arr = &idx1arr[s1len];
@@ -186,7 +186,10 @@ STRCOLL (s1, s2, l)
 		    /* The last pushed character was handled.  Continue
 		       with forward characters.  */
 		    if (idx1cnt < idx1max)
-		      idx1now = idx1cnt;
+		      {
+			idx1now = idx1cnt;
+			backw1_stop = ~0ul;
+		      }
 		    else
 		      /* Nothing anymore.  The backward sequence ended with
 			 the last sequence in the string.  Note that seq1len
@@ -245,7 +248,10 @@ STRCOLL (s1, s2, l)
 		    /* The last pushed character was handled.  Continue
 		       with forward characters.  */
 		    if (idx2cnt < idx2max)
-		      idx2now = idx2cnt;
+		      {
+			idx2now = idx2cnt;
+			backw2_stop = ~0ul;
+		      }
 		    else
 		      /* Nothing anymore.  The backward sequence ended with
 			 the last sequence in the string.  Note that seq2len
@@ -370,7 +376,10 @@ STRCOLL (s1, s2, l)
 			/* The last pushed character was handled.  Continue
 			   with forward characters.  */
 			if (idx1cnt < idx1max)
-			  idx1now = idx1cnt;
+			  {
+			    idx1now = idx1cnt;
+			    backw1_stop = ~0ul;
+			  }
 			else
 			  {
 			    /* Nothing anymore.  The backward sequence
@@ -426,7 +435,10 @@ STRCOLL (s1, s2, l)
 			/* The last pushed character was handled.  Continue
 			   with forward characters.  */
 			if (idx2cnt < idx2max)
-			  idx2now = idx2cnt;
+			  {
+			    idx2now = idx2cnt;
+			    backw2_stop = ~0ul;
+			  }
 			else
 			  {
 			    /* Nothing anymore.  The backward sequence
diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h
index 0c940d7221..2ec4ce17e0 100644
--- a/wcsmbs/bits/wchar2.h
+++ b/wcsmbs/bits/wchar2.h
@@ -274,10 +274,10 @@ extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
 			   __const wchar_t *__restrict __format, ...)
      __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */;
 
-extern int __REDIRECT_NTH (__swprintf_alias,
-			   (wchar_t *__restrict __s, size_t __n,
-			    __const wchar_t *__restrict __fmt, ...),
-			    swprintf);
+extern int __REDIRECT_NTH_LDBL (__swprintf_alias,
+				(wchar_t *__restrict __s, size_t __n,
+				 __const wchar_t *__restrict __fmt, ...),
+				swprintf);
 
 #ifdef __va_arg_pack
 __extern_always_inline int
@@ -305,10 +305,10 @@ extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
 			    __gnuc_va_list __arg)
      __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
 
-extern int __REDIRECT_NTH (__vswprintf_alias,
-			   (wchar_t *__restrict __s, size_t __n,
-			    __const wchar_t *__restrict __fmt,
-			    __gnuc_va_list __ap), vswprintf);
+extern int __REDIRECT_NTH_LDBL (__vswprintf_alias,
+				(wchar_t *__restrict __s, size_t __n,
+				 __const wchar_t *__restrict __fmt,
+				 __gnuc_va_list __ap), vswprintf);
 
 __extern_always_inline int
 __NTH (vswprintf (wchar_t *__restrict __s, size_t __n,