[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r3687 - in /fsf/trunk/libc: ./ locale/programs/ localedata/ localedata/charmaps/ string/



Author: eglibc
Date: Wed Oct  3 00:03:38 2007
New Revision: 3687

Log:
Import glibc-mainline for 2007-10-03

Added:
    fsf/trunk/libc/localedata/fr_FR.in
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/locale/programs/ld-collate.c
    fsf/trunk/libc/localedata/ChangeLog
    fsf/trunk/libc/localedata/Makefile
    fsf/trunk/libc/localedata/charmaps/UTF-8
    fsf/trunk/libc/localedata/de_DE.in
    fsf/trunk/libc/string/strcoll_l.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Oct  3 00:03:38 2007
@@ -1,3 +1,16 @@
+2007-10-02  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* 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@xxxxxxxxxx>
 
 	[BZ #5071]

Modified: fsf/trunk/libc/locale/programs/ld-collate.c
==============================================================================
--- fsf/trunk/libc/locale/programs/ld-collate.c (original)
+++ fsf/trunk/libc/locale/programs/ld-collate.c Wed Oct  3 00:03:38 2007
@@ -1545,9 +1545,10 @@
      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"),
@@ -3214,13 +3215,16 @@
 		    {
 		      /* 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.  */

Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Wed Oct  3 00:03:38 2007
@@ -1,3 +1,13 @@
+2007-10-02  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* 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@xxxxxxxxxx>
 
 	[BZ #4941]

Modified: fsf/trunk/libc/localedata/Makefile
==============================================================================
--- fsf/trunk/libc/localedata/Makefile (original)
+++ fsf/trunk/libc/localedata/Makefile Wed Oct  3 00:03:38 2007
@@ -41,7 +41,7 @@
 	     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 @@
 	   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)

Modified: fsf/trunk/libc/localedata/charmaps/UTF-8
==============================================================================
--- fsf/trunk/libc/localedata/charmaps/UTF-8 (original)
+++ fsf/trunk/libc/localedata/charmaps/UTF-8 Wed Oct  3 00:03:38 2007
@@ -551,7 +551,7 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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 @@
 <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

Modified: fsf/trunk/libc/localedata/de_DE.in
==============================================================================
--- fsf/trunk/libc/localedata/de_DE.in (original)
+++ fsf/trunk/libc/localedata/de_DE.in Wed Oct  3 00:03:38 2007
@@ -40,8 +40,8 @@
 Fussel                           : fluff
 fusseln                          : to wear of fluff
 füßeln                           : play footsie [under the table]
+Füssen                           : Füssen (town)
 fußen                            : to be based [on]
-Füssen                           : Füssen (town)
 Füßen (dat. pl. of "Fuß")        : [to the] feet
 in Massen                        : in large numbers
 in Maßen                         : moderately
@@ -49,9 +49,9 @@
 Mass. (Massachusetts)            : Massachusetts (state)
 Maß                              : measure
 Masse                            : mass
-Massé                            : (particular billard stroke)
 Maße (pl. of "Maß")              : measures
 mäße (pres. conj. of "messen")   : take measure (e.g. in indirect speech)
+Massé                            : (particular billard stroke)
 Massen-                          : mass; wholesale; bulk (in compound nouns)
 massig                           : massive
 mäßig                            : moderate; modest
@@ -60,8 +60,8 @@
 Passe                            : yoke (of dress)
 passé                            : over, gone
 Schlagerforderung                : claim, demanded in a pop song
+Schlägerforderung                : demand of a hooligan
 Schlagerförderung                : promotion of pop music
-Schlägerforderung                : demand of a hooligan
 Schlägerförderung                : promotion of hooliganism :-)
 Schurz                           : apron
 Schürze                          : apron

Added: fsf/trunk/libc/localedata/fr_FR.in
==============================================================================
--- fsf/trunk/libc/localedata/fr_FR.in (added)
+++ fsf/trunk/libc/localedata/fr_FR.in Wed Oct  3 00:03:38 2007
@@ -1,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

Modified: fsf/trunk/libc/string/strcoll_l.c
==============================================================================
--- fsf/trunk/libc/string/strcoll_l.c (original)
+++ fsf/trunk/libc/string/strcoll_l.c Wed Oct  3 00:03:38 2007
@@ -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@xxxxxxx>, 1995.
 
@@ -128,7 +128,7 @@
 
      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 @@
 		    /* 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 @@
 		    /* 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 @@
 			/* 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 @@
 			/* 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