Patch 0002 updates newlib data tables to Unicode 17.0.
Two of the build scripts needed an update first as the Unicode file layout slightly changed. They were synchronized with the same respective scripts from mintty for this purpose. This is patch 0001.
Thomas
Author:     Thomas Wolff <[email protected]>
AuthorDate: Fri Dec 19 11:49:47 2025 +0100
Commit:     Thomas Wolff <[email protected]>
CommitDate: Fri Dec 19 11:49:47 2025 +0100

    Unicode table build: update scripts for generation of width data to recent 
changes in Unicode.org data file layout

diff --git a/newlib/libc/string/mkwide b/newlib/libc/string/mkwide
index 55a0bab43..42f36507e 100755
--- a/newlib/libc/string/mkwide
+++ b/newlib/libc/string/mkwide
@@ -4,20 +4,24 @@
 
 skipcheck=false
 
-if [ ! -r EastAsianWidth.txt ]
-then   ln -s /usr/share/unicode/ucd/EastAsianWidth.txt . || exit 1
+if $skipcheck || make Blocks.txt >&2
+then   true
+else   echo Could not acquire Unicode data file Blocks.txt >&2
+       exit 1
 fi
-if [ ! -r UnicodeData.txt ]
-then   ln -s /usr/share/unicode/ucd/UnicodeData.txt . || exit 1
+if $skipcheck || make EastAsianWidth.txt >&2
+then   true
+else   echo Could not acquire Unicode data file EastAsianWidth.txt >&2
+       exit 1
 fi
-if [ ! -r Blocks.txt ]
-then   ln -s /usr/share/unicode/ucd/Blocks.txt . || exit 1
+if $skipcheck || make UnicodeData.txt >&2
+then   true
+else   echo Could not acquire Unicode data file UnicodeData.txt >&2
+       exit 1
 fi
 
-sed -e "s,^\([^;]*\);[NAH],\1," -e t -e d EastAsianWidth.txt > wide.na
-sed -e "s,^\([^;]*\);[WF],\1," -e t -e d EastAsianWidth.txt > wide.fw
-
-PATH="$PATH:." # for uniset
+sed -e "s,^\([^;]*\) *; *[NAH],\1," -e t -e d EastAsianWidth.txt > wide.na
+sed -e "s,^\([^;]*\) *; *[WF],\1," -e t -e d EastAsianWidth.txt > wide.fw
 
 nrfw=`uniset +wide.fw nr | sed -e 's,.*:,,'`
 echo FW $nrfw
@@ -31,7 +35,7 @@ includes () {
        nr=`uniset +wide.$2 -$1 nr | sed -e 's,.*:,,'`
        test $nr != $3
 }
-echo "adding compact closure of wide ranges, this may take ~10min"
+echo "adding compact closure of wide ranges, this may take a few minutes"
 for b in $extrablocks `sed -e 's,^\([0-9A-F]*\)\.\.\([0-9A-F]*\).*,\1-\2,' -e 
t -e d Blocks.txt`
 do     range=$b
        echo checking $range $* >&2
@@ -40,10 +44,6 @@ do   range=$b
        fi
 done > wide.blocks
 
-(
-sed -e "s,^,//," -e 1q EastAsianWidth.txt
-sed -e "s,^,//," -e 1q Blocks.txt
-uniset `sed -e 's,^,+,' wide.blocks` +wide.fw c
-) > wide.t
+uniset `sed -e 's,^,+,' wide.blocks` +wide.fw c > wide.t
 
 rm -f wide.na wide.fw wide.blocks
diff --git a/newlib/libc/string/mkwidthA b/newlib/libc/string/mkwidthA
index 343ab4016..fc6f3d2bf 100755
--- a/newlib/libc/string/mkwidthA
+++ b/newlib/libc/string/mkwidthA
@@ -3,18 +3,19 @@
 # generate WIDTH-A file, listing Unicode characters with width property
 # Ambiguous, from EastAsianWidth.txt
 
-if [ ! -r EastAsianWidth.txt ]
-then   ln -s /usr/share/unicode/ucd/EastAsianWidth.txt . || exit 1
+if make EastAsianWidth.txt >&2
+then   true
+else   echo Could not acquire Unicode data file EastAsianWidth.txt >&2
+       exit 1
 fi
-if [ ! -r UnicodeData.txt ]
-then   ln -s /usr/share/unicode/ucd/UnicodeData.txt . || exit 1
-fi
-if [ ! -r Blocks.txt ]
-then   ln -s /usr/share/unicode/ucd/Blocks.txt . || exit 1
+if make UnicodeData.txt >&2
+then   true
+else   echo Could not acquire Unicode data file UnicodeData.txt >&2
+       exit 1
 fi
 
-sed -e "s,^\([^;]*\);A,\1," -e t -e d EastAsianWidth.txt > width-a-new
+sed -e "s,^\([^;]*\) *; *A,\1," -e t -e d EastAsianWidth.txt > width-a-new
 rm -f WIDTH-A
 echo "# UAX #11: East Asian Ambiguous" > WIDTH-A
-PATH="$PATH:." uniset +width-a-new compact >> WIDTH-A
+uniset +width-a-new compact >> WIDTH-A
 rm -f width-a-new
Author:     Thomas Wolff <[email protected]>
AuthorDate: Fri Dec 19 00:00:00 2025 +0000
Commit:     Thomas Wolff <[email protected]>
CommitDate: Fri Dec 19 00:00:00 2025 +0000

    Unicode table build: update data tables to Unicode 17.0
    as done by either of the following script invocations:
    cd newlib/libc; make -f Makefile.unidata
    cd build/*/newlib; make unidata

diff --git a/newlib/libc/ctype/caseconv.t b/newlib/libc/ctype/caseconv.t
index 0620f1452..809f34523 100644
--- a/newlib/libc/ctype/caseconv.t
+++ b/newlib/libc/ctype/caseconv.t
@@ -33,6 +33,7 @@
   {0x0197, 0, TOLO, 209},
   {0x0198, 1, TO1, EVENCAP},
   {0x019A, 0, TOUP, 163},
+  {0x019B, 0, TOUP, 42561},
   {0x019C, 0, TOLO, 211},
   {0x019D, 0, TOLO, 213},
   {0x019E, 0, TOUP, 130},
@@ -93,6 +94,7 @@
   {0x0260, 0, TOUP, -205},
   {0x0261, 0, TOUP, 42315},
   {0x0263, 0, TOUP, -207},
+  {0x0264, 0, TOUP, 42343},
   {0x0265, 0, TOUP, 42280},
   {0x0266, 0, TOUP, 42308},
   {0x0268, 0, TOUP, -209},
@@ -179,6 +181,7 @@
   {0x1C86, 0, TOUP, -6236},
   {0x1C87, 0, TOUP, -6181},
   {0x1C88, 0, TOUP, 35266},
+  {0x1C89, 1, TO1, ODDCAP},
   {0x1C90, 42, TOLO, -3008},
   {0x1CBD, 2, TOLO, -3008},
   {0x1D79, 0, TOUP, 35332},
@@ -299,8 +302,9 @@
   {0xA7C5, 0, TOLO, -42307},
   {0xA7C6, 0, TOLO, -35384},
   {0xA7C7, 3, TO1, ODDCAP},
-  {0xA7D0, 1, TO1, EVENCAP},
-  {0xA7D6, 3, TO1, EVENCAP},
+  {0xA7CB, 0, TOLO, -42343},
+  {0xA7CC, 15, TO1, EVENCAP},
+  {0xA7DC, 0, TOLO, -42561},
   {0xA7F5, 1, TO1, ODDCAP},
   {0xAB53, 0, TOUP, -928},
   {0xAB70, 79, TOUP, -38864},
@@ -320,9 +324,13 @@
   {0x105BB, 1, TOUP, -39},
   {0x10C80, 50, TOLO, 64},
   {0x10CC0, 50, TOUP, -64},
+  {0x10D50, 21, TOLO, 32},
+  {0x10D70, 21, TOUP, -32},
   {0x118A0, 31, TOLO, 32},
   {0x118C0, 31, TOUP, -32},
   {0x16E40, 31, TOLO, 32},
   {0x16E60, 31, TOUP, -32},
+  {0x16EA0, 24, TOLO, 27},
+  {0x16EBB, 24, TOUP, -27},
   {0x1E900, 33, TOLO, 34},
   {0x1E922, 33, TOUP, -34},
diff --git a/newlib/libc/ctype/categories.t b/newlib/libc/ctype/categories.t
index 4fec4afb6..56f0ec7bd 100644
--- a/newlib/libc/ctype/categories.t
+++ b/newlib/libc/ctype/categories.t
@@ -64,9 +64,7 @@
     {CAT_Ll, 0x0149, 0},
     {CAT_LC, 0x014A, 66},
     {CAT_Ll, 0x018D, 0},
-    {CAT_LC, 0x018E, 12},
-    {CAT_Ll, 0x019B, 0},
-    {CAT_LC, 0x019C, 13},
+    {CAT_LC, 0x018E, 27},
     {CAT_Ll, 0x01AA, 1},
     {CAT_LC, 0x01AC, 13},
     {CAT_Ll, 0x01BA, 0},
@@ -99,9 +97,7 @@
     {CAT_Ll, 0x025D, 2},
     {CAT_LC, 0x0260, 1},
     {CAT_Ll, 0x0262, 0},
-    {CAT_LC, 0x0263, 0},
-    {CAT_Ll, 0x0264, 0},
-    {CAT_LC, 0x0265, 1},
+    {CAT_LC, 0x0263, 3},
     {CAT_Ll, 0x0267, 0},
     {CAT_LC, 0x0268, 4},
     {CAT_Ll, 0x026D, 1},
@@ -121,8 +117,8 @@
     {CAT_Ll, 0x028D, 4},
     {CAT_LC, 0x0292, 0},
     {CAT_Ll, 0x0293, 0},
-    {CAT_Lo, 0x0294, 0},
-    {CAT_Ll, 0x0295, 7},
+    {CAT_Lo, 0x0294, 1},
+    {CAT_Ll, 0x0296, 6},
     {CAT_LC, 0x029D, 1},
     {CAT_Ll, 0x029F, 16},
     {CAT_Lm, 0x02B0, 17},
@@ -254,9 +250,9 @@
     {CAT_Lo, 0x0860, 10},
     {CAT_Lo, 0x0870, 23},
     {CAT_Sk, 0x0888, 0},
-    {CAT_Lo, 0x0889, 5},
+    {CAT_Lo, 0x0889, 6},
     {CAT_Cf, 0x0890, 1},
-    {CAT_Mn, 0x0898, 7},
+    {CAT_Mn, 0x0897, 8},
     {CAT_Lo, 0x08A0, 40},
     {CAT_Lm, 0x08C9, 0},
     {CAT_Mn, 0x08CA, 23},
@@ -422,7 +418,7 @@
     {CAT_Mn, 0x0C4A, 3},
     {CAT_Mn, 0x0C55, 1},
     {CAT_Lo, 0x0C58, 2},
-    {CAT_Lo, 0x0C5D, 0},
+    {CAT_Lo, 0x0C5C, 1},
     {CAT_Lo, 0x0C60, 1},
     {CAT_Mn, 0x0C62, 1},
     {CAT_Nd, 0x0C66, 9},
@@ -448,7 +444,7 @@
     {CAT_Mc, 0x0CCA, 1},
     {CAT_Mn, 0x0CCC, 1},
     {CAT_Mc, 0x0CD5, 1},
-    {CAT_Lo, 0x0CDD, 1},
+    {CAT_Lo, 0x0CDC, 2},
     {CAT_Lo, 0x0CE0, 1},
     {CAT_Mn, 0x0CE2, 1},
     {CAT_Nd, 0x0CE6, 9},
@@ -722,7 +718,8 @@
     {CAT_Po, 0x1AA8, 5},
     {CAT_Mn, 0x1AB0, 13},
     {CAT_Me, 0x1ABE, 0},
-    {CAT_Mn, 0x1ABF, 15},
+    {CAT_Mn, 0x1ABF, 30},
+    {CAT_Mn, 0x1AE0, 11},
     {CAT_Mn, 0x1B00, 3},
     {CAT_Mc, 0x1B04, 0},
     {CAT_Lo, 0x1B05, 46},
@@ -735,12 +732,13 @@
     {CAT_Mn, 0x1B42, 0},
     {CAT_Mc, 0x1B43, 1},
     {CAT_Lo, 0x1B45, 7},
+    {CAT_Po, 0x1B4E, 1},
     {CAT_Nd, 0x1B50, 9},
     {CAT_Po, 0x1B5A, 6},
     {CAT_So, 0x1B61, 9},
     {CAT_Mn, 0x1B6B, 8},
     {CAT_So, 0x1B74, 8},
-    {CAT_Po, 0x1B7D, 1},
+    {CAT_Po, 0x1B7D, 2},
     {CAT_Mn, 0x1B80, 1},
     {CAT_Mc, 0x1B82, 0},
     {CAT_Lo, 0x1B83, 29},
@@ -774,7 +772,7 @@
     {CAT_Lo, 0x1C5A, 29},
     {CAT_Lm, 0x1C78, 5},
     {CAT_Po, 0x1C7E, 1},
-    {CAT_LC, 0x1C80, 8},
+    {CAT_LC, 0x1C80, 10},
     {CAT_LC, 0x1C90, 42},
     {CAT_LC, 0x1CBD, 2},
     {CAT_Po, 0x1CC0, 7},
@@ -911,7 +909,7 @@
     {CAT_Ps, 0x208D, 0},
     {CAT_Pe, 0x208E, 0},
     {CAT_Lm, 0x2090, 12},
-    {CAT_Sc, 0x20A0, 32},
+    {CAT_Sc, 0x20A0, 33},
     {CAT_Mn, 0x20D0, 12},
     {CAT_Me, 0x20DD, 3},
     {CAT_Mn, 0x20E1, 0},
@@ -1001,7 +999,7 @@
     {CAT_Sm, 0x239B, 24},
     {CAT_So, 0x23B4, 39},
     {CAT_Sm, 0x23DC, 5},
-    {CAT_So, 0x23E2, 68},
+    {CAT_So, 0x23E2, 71},
     {CAT_So, 0x2440, 10},
     {CAT_No, 0x2460, 59},
     {CAT_So, 0x249C, 77},
@@ -1084,8 +1082,7 @@
     {CAT_So, 0x2B45, 1},
     {CAT_Sm, 0x2B47, 5},
     {CAT_So, 0x2B4D, 38},
-    {CAT_So, 0x2B76, 31},
-    {CAT_So, 0x2B97, 104},
+    {CAT_So, 0x2B76, 137},
     {CAT_LC, 0x2C00, 112},
     {CAT_Ll, 0x2C71, 0},
     {CAT_LC, 0x2C72, 1},
@@ -1171,7 +1168,7 @@
     {CAT_So, 0x2E80, 25},
     {CAT_So, 0x2E9B, 88},
     {CAT_So, 0x2F00, 213},
-    {CAT_So, 0x2FF0, 11},
+    {CAT_So, 0x2FF0, 15},
     {CAT_Zs, 0x3000, 0},
     {CAT_Po, 0x3001, 2},
     {CAT_So, 0x3004, 0},
@@ -1228,7 +1225,8 @@
     {CAT_No, 0x3192, 3},
     {CAT_So, 0x3196, 9},
     {CAT_Lo, 0x31A0, 31},
-    {CAT_So, 0x31C0, 35},
+    {CAT_So, 0x31C0, 37},
+    {CAT_So, 0x31EF, 0},
     {CAT_Lo, 0x31F0, 15},
     {CAT_So, 0x3200, 30},
     {CAT_No, 0x3220, 9},
@@ -1289,12 +1287,8 @@
     {CAT_Ll, 0xA795, 0},
     {CAT_LC, 0xA796, 24},
     {CAT_Ll, 0xA7AF, 0},
-    {CAT_LC, 0xA7B0, 26},
-    {CAT_LC, 0xA7D0, 1},
-    {CAT_Ll, 0xA7D3, 0},
-    {CAT_Ll, 0xA7D5, 0},
-    {CAT_LC, 0xA7D6, 3},
-    {CAT_Lm, 0xA7F2, 2},
+    {CAT_LC, 0xA7B0, 44},
+    {CAT_Lm, 0xA7F1, 3},
     {CAT_LC, 0xA7F5, 1},
     {CAT_Lo, 0xA7F7, 0},
     {CAT_Lm, 0xA7F8, 1},
@@ -1445,13 +1439,15 @@
     {CAT_Lo, 0xFB43, 1},
     {CAT_Lo, 0xFB46, 107},
     {CAT_Sk, 0xFBB2, 16},
+    {CAT_So, 0xFBC3, 15},
     {CAT_Lo, 0xFBD3, 362},
     {CAT_Pe, 0xFD3E, 0},
     {CAT_Ps, 0xFD3F, 0},
     {CAT_So, 0xFD40, 15},
     {CAT_Lo, 0xFD50, 63},
+    {CAT_So, 0xFD90, 1},
     {CAT_Lo, 0xFD92, 53},
-    {CAT_So, 0xFDCF, 0},
+    {CAT_So, 0xFDC8, 7},
     {CAT_Lo, 0xFDF0, 11},
     {CAT_Sc, 0xFDFC, 0},
     {CAT_So, 0xFDFD, 2},
@@ -1608,6 +1604,7 @@
     {CAT_LC, 0x105A3, 14},
     {CAT_LC, 0x105B3, 6},
     {CAT_LC, 0x105BB, 1},
+    {CAT_Lo, 0x105C0, 51},
     {CAT_Lo, 0x10600, 310},
     {CAT_Lo, 0x10740, 21},
     {CAT_Lo, 0x10760, 7},
@@ -1635,6 +1632,7 @@
     {CAT_Po, 0x1091F, 0},
     {CAT_Lo, 0x10920, 25},
     {CAT_Po, 0x1093F, 0},
+    {CAT_Lo, 0x10940, 25},
     {CAT_Lo, 0x10980, 55},
     {CAT_No, 0x109BC, 1},
     {CAT_Lo, 0x109BE, 1},
@@ -1678,12 +1676,27 @@
     {CAT_Lo, 0x10D00, 35},
     {CAT_Mn, 0x10D24, 3},
     {CAT_Nd, 0x10D30, 9},
+    {CAT_Nd, 0x10D40, 9},
+    {CAT_Lo, 0x10D4A, 3},
+    {CAT_Lm, 0x10D4E, 0},
+    {CAT_Lo, 0x10D4F, 0},
+    {CAT_LC, 0x10D50, 21},
+    {CAT_Mn, 0x10D69, 4},
+    {CAT_Pd, 0x10D6E, 0},
+    {CAT_Lm, 0x10D6F, 0},
+    {CAT_LC, 0x10D70, 21},
+    {CAT_Sm, 0x10D8E, 1},
     {CAT_No, 0x10E60, 30},
     {CAT_Lo, 0x10E80, 41},
     {CAT_Mn, 0x10EAB, 1},
     {CAT_Pd, 0x10EAD, 0},
     {CAT_Lo, 0x10EB0, 1},
-    {CAT_Mn, 0x10EFD, 2},
+    {CAT_Lo, 0x10EC2, 2},
+    {CAT_Lm, 0x10EC5, 0},
+    {CAT_Lo, 0x10EC6, 1},
+    {CAT_Po, 0x10ED0, 0},
+    {CAT_So, 0x10ED1, 7},
+    {CAT_Mn, 0x10EFA, 5},
     {CAT_Lo, 0x10F00, 28},
     {CAT_No, 0x10F1D, 9},
     {CAT_Lo, 0x10F27, 0},
@@ -1799,6 +1812,26 @@
     {CAT_Mc, 0x11362, 1},
     {CAT_Mn, 0x11366, 6},
     {CAT_Mn, 0x11370, 4},
+    {CAT_Lo, 0x11380, 9},
+    {CAT_Lo, 0x1138B, 0},
+    {CAT_Lo, 0x1138E, 0},
+    {CAT_Lo, 0x11390, 37},
+    {CAT_Lo, 0x113B7, 0},
+    {CAT_Mc, 0x113B8, 2},
+    {CAT_Mn, 0x113BB, 5},
+    {CAT_Mc, 0x113C2, 0},
+    {CAT_Mc, 0x113C5, 0},
+    {CAT_Mc, 0x113C7, 3},
+    {CAT_Mc, 0x113CC, 1},
+    {CAT_Mn, 0x113CE, 0},
+    {CAT_Mc, 0x113CF, 0},
+    {CAT_Mn, 0x113D0, 0},
+    {CAT_Lo, 0x113D1, 0},
+    {CAT_Mn, 0x113D2, 0},
+    {CAT_Lo, 0x113D3, 0},
+    {CAT_Po, 0x113D4, 1},
+    {CAT_Po, 0x113D7, 1},
+    {CAT_Mn, 0x113E1, 1},
     {CAT_Lo, 0x11400, 52},
     {CAT_Mc, 0x11435, 2},
     {CAT_Mn, 0x11438, 7},
@@ -1858,8 +1891,11 @@
     {CAT_Lo, 0x116B8, 0},
     {CAT_Po, 0x116B9, 0},
     {CAT_Nd, 0x116C0, 9},
+    {CAT_Nd, 0x116D0, 19},
     {CAT_Lo, 0x11700, 26},
-    {CAT_Mn, 0x1171D, 2},
+    {CAT_Mn, 0x1171D, 0},
+    {CAT_Mc, 0x1171E, 0},
+    {CAT_Mn, 0x1171F, 0},
     {CAT_Mc, 0x11720, 1},
     {CAT_Mn, 0x11722, 3},
     {CAT_Mc, 0x11726, 0},
@@ -1928,6 +1964,15 @@
     {CAT_Po, 0x11A9E, 4},
     {CAT_Lo, 0x11AB0, 72},
     {CAT_Po, 0x11B00, 9},
+    {CAT_Mn, 0x11B60, 0},
+    {CAT_Mc, 0x11B61, 0},
+    {CAT_Mn, 0x11B62, 2},
+    {CAT_Mc, 0x11B65, 0},
+    {CAT_Mn, 0x11B66, 0},
+    {CAT_Mc, 0x11B67, 0},
+    {CAT_Lo, 0x11BC0, 32},
+    {CAT_Po, 0x11BE1, 0},
+    {CAT_Nd, 0x11BF0, 9},
     {CAT_Lo, 0x11C00, 8},
     {CAT_Lo, 0x11C0A, 36},
     {CAT_Mc, 0x11C2F, 0},
@@ -1969,6 +2014,10 @@
     {CAT_Mn, 0x11D97, 0},
     {CAT_Lo, 0x11D98, 0},
     {CAT_Nd, 0x11DA0, 9},
+    {CAT_Lo, 0x11DB0, 40},
+    {CAT_Lm, 0x11DD9, 0},
+    {CAT_Lo, 0x11DDA, 1},
+    {CAT_Nd, 0x11DE0, 9},
     {CAT_Lo, 0x11EE0, 18},
     {CAT_Mn, 0x11EF3, 1},
     {CAT_Mc, 0x11EF5, 1},
@@ -1986,6 +2035,7 @@
     {CAT_Mn, 0x11F42, 0},
     {CAT_Po, 0x11F43, 12},
     {CAT_Nd, 0x11F50, 9},
+    {CAT_Mn, 0x11F5A, 0},
     {CAT_Lo, 0x11FB0, 0},
     {CAT_No, 0x11FC0, 20},
     {CAT_So, 0x11FD5, 7},
@@ -2003,7 +2053,13 @@
     {CAT_Mn, 0x13440, 0},
     {CAT_Lo, 0x13441, 5},
     {CAT_Mn, 0x13447, 14},
+    {CAT_Lo, 0x13460, 3994},
     {CAT_Lo, 0x14400, 582},
+    {CAT_Lo, 0x16100, 29},
+    {CAT_Mn, 0x1611E, 11},
+    {CAT_Mc, 0x1612A, 2},
+    {CAT_Mn, 0x1612D, 2},
+    {CAT_Nd, 0x16130, 9},
     {CAT_Lo, 0x16800, 568},
     {CAT_Lo, 0x16A40, 30},
     {CAT_Nd, 0x16A60, 9},
@@ -2024,9 +2080,16 @@
     {CAT_No, 0x16B5B, 6},
     {CAT_Lo, 0x16B63, 20},
     {CAT_Lo, 0x16B7D, 18},
+    {CAT_Lm, 0x16D40, 2},
+    {CAT_Lo, 0x16D43, 39},
+    {CAT_Lm, 0x16D6B, 1},
+    {CAT_Po, 0x16D6D, 2},
+    {CAT_Nd, 0x16D70, 9},
     {CAT_LC, 0x16E40, 63},
     {CAT_No, 0x16E80, 22},
     {CAT_Po, 0x16E97, 3},
+    {CAT_LC, 0x16EA0, 24},
+    {CAT_LC, 0x16EBB, 24},
     {CAT_Lo, 0x16F00, 74},
     {CAT_Mn, 0x16F4F, 0},
     {CAT_Lo, 0x16F50, 0},
@@ -2038,9 +2101,11 @@
     {CAT_Lm, 0x16FE3, 0},
     {CAT_Mn, 0x16FE4, 0},
     {CAT_Mc, 0x16FF0, 1},
-    {CAT_Lo, 0x17000, 6135},
-    {CAT_Lo, 0x18800, 1237},
-    {CAT_Lo, 0x18D00, 8},
+    {CAT_Lm, 0x16FF2, 1},
+    {CAT_Nl, 0x16FF4, 2},
+    {CAT_Lo, 0x17000, 7381},
+    {CAT_Lo, 0x18CFF, 31},
+    {CAT_Lo, 0x18D80, 114},
     {CAT_Lm, 0x1AFF0, 3},
     {CAT_Lm, 0x1AFF5, 6},
     {CAT_Lm, 0x1AFFD, 1},
@@ -2058,6 +2123,13 @@
     {CAT_Mn, 0x1BC9D, 1},
     {CAT_Po, 0x1BC9F, 0},
     {CAT_Cf, 0x1BCA0, 3},
+    {CAT_So, 0x1CC00, 239},
+    {CAT_Nd, 0x1CCF0, 9},
+    {CAT_So, 0x1CCFA, 2},
+    {CAT_So, 0x1CD00, 435},
+    {CAT_So, 0x1CEBA, 22},
+    {CAT_So, 0x1CEE0, 15},
+    {CAT_Sm, 0x1CEF0, 0},
     {CAT_Mn, 0x1CF00, 45},
     {CAT_Mn, 0x1CF30, 22},
     {CAT_So, 0x1CF50, 115},
@@ -2191,6 +2263,22 @@
     {CAT_Lm, 0x1E4EB, 0},
     {CAT_Mn, 0x1E4EC, 3},
     {CAT_Nd, 0x1E4F0, 9},
+    {CAT_Lo, 0x1E5D0, 29},
+    {CAT_Mn, 0x1E5EE, 1},
+    {CAT_Lo, 0x1E5F0, 0},
+    {CAT_Nd, 0x1E5F1, 9},
+    {CAT_Po, 0x1E5FF, 0},
+    {CAT_Lo, 0x1E6C0, 30},
+    {CAT_Lo, 0x1E6E0, 2},
+    {CAT_Mn, 0x1E6E3, 0},
+    {CAT_Lo, 0x1E6E4, 1},
+    {CAT_Mn, 0x1E6E6, 0},
+    {CAT_Lo, 0x1E6E7, 6},
+    {CAT_Mn, 0x1E6EE, 1},
+    {CAT_Lo, 0x1E6F0, 4},
+    {CAT_Mn, 0x1E6F5, 0},
+    {CAT_Lo, 0x1E6FE, 0},
+    {CAT_Lm, 0x1E6FF, 0},
     {CAT_Lo, 0x1E7E0, 6},
     {CAT_Lo, 0x1E7E8, 3},
     {CAT_Lo, 0x1E7ED, 1},
@@ -2260,11 +2348,10 @@
     {CAT_So, 0x1F260, 5},
     {CAT_So, 0x1F300, 250},
     {CAT_Sk, 0x1F3FB, 4},
-    {CAT_So, 0x1F400, 727},
+    {CAT_So, 0x1F400, 728},
     {CAT_So, 0x1F6DC, 16},
     {CAT_So, 0x1F6F0, 12},
-    {CAT_So, 0x1F700, 118},
-    {CAT_So, 0x1F77B, 94},
+    {CAT_So, 0x1F700, 217},
     {CAT_So, 0x1F7E0, 11},
     {CAT_So, 0x1F7F0, 0},
     {CAT_So, 0x1F800, 11},
@@ -2272,27 +2359,30 @@
     {CAT_So, 0x1F850, 9},
     {CAT_So, 0x1F860, 39},
     {CAT_So, 0x1F890, 29},
-    {CAT_So, 0x1F8B0, 1},
-    {CAT_So, 0x1F900, 339},
+    {CAT_So, 0x1F8B0, 11},
+    {CAT_So, 0x1F8C0, 1},
+    {CAT_Sm, 0x1F8D0, 8},
+    {CAT_So, 0x1F900, 343},
     {CAT_So, 0x1FA60, 13},
     {CAT_So, 0x1FA70, 12},
-    {CAT_So, 0x1FA80, 8},
-    {CAT_So, 0x1FA90, 45},
-    {CAT_So, 0x1FABF, 6},
-    {CAT_So, 0x1FACE, 13},
-    {CAT_So, 0x1FAE0, 8},
-    {CAT_So, 0x1FAF0, 8},
+    {CAT_So, 0x1FA80, 10},
+    {CAT_So, 0x1FA8E, 56},
+    {CAT_So, 0x1FAC8, 0},
+    {CAT_So, 0x1FACD, 15},
+    {CAT_So, 0x1FADF, 11},
+    {CAT_So, 0x1FAEF, 9},
     {CAT_So, 0x1FB00, 146},
-    {CAT_So, 0x1FB94, 54},
+    {CAT_So, 0x1FB94, 91},
     {CAT_Nd, 0x1FBF0, 9},
+    {CAT_So, 0x1FBFA, 0},
     {CAT_Lo, 0x20000, 42719},
-    {CAT_Lo, 0x2A700, 4153},
-    {CAT_Lo, 0x2B740, 221},
-    {CAT_Lo, 0x2B820, 5761},
+    {CAT_Lo, 0x2A700, 4381},
+    {CAT_Lo, 0x2B820, 5773},
     {CAT_Lo, 0x2CEB0, 7472},
+    {CAT_Lo, 0x2EBF0, 621},
     {CAT_Lo, 0x2F800, 541},
     {CAT_Lo, 0x30000, 4938},
-    {CAT_Lo, 0x31350, 4191},
+    {CAT_Lo, 0x31350, 8489},
     {CAT_Cf, 0xE0001, 0},
     {CAT_Cf, 0xE0020, 95},
     {CAT_Mn, 0xE0100, 239},
diff --git a/newlib/libc/string/combining.t b/newlib/libc/string/combining.t
index 0d7345c49..712474626 100644
--- a/newlib/libc/string/combining.t
+++ b/newlib/libc/string/combining.t
@@ -8,7 +8,7 @@
   { 0x0730, 0x074A }, { 0x07A6, 0x07B0 }, { 0x07EB, 0x07F3 },
   { 0x07FD, 0x07FD }, { 0x0816, 0x0819 }, { 0x081B, 0x0823 },
   { 0x0825, 0x0827 }, { 0x0829, 0x082D }, { 0x0859, 0x085B },
-  { 0x0890, 0x0891 }, { 0x0898, 0x089F }, { 0x08CA, 0x0902 },
+  { 0x0890, 0x0891 }, { 0x0897, 0x089F }, { 0x08CA, 0x0902 },
   { 0x093A, 0x093A }, { 0x093C, 0x093C }, { 0x0941, 0x0948 },
   { 0x094D, 0x094D }, { 0x0951, 0x0957 }, { 0x0962, 0x0963 },
   { 0x0981, 0x0981 }, { 0x09BC, 0x09BC }, { 0x09C1, 0x09C4 },
@@ -47,76 +47,82 @@
   { 0x1A17, 0x1A18 }, { 0x1A1B, 0x1A1B }, { 0x1A56, 0x1A56 },
   { 0x1A58, 0x1A5E }, { 0x1A60, 0x1A60 }, { 0x1A62, 0x1A62 },
   { 0x1A65, 0x1A6C }, { 0x1A73, 0x1A7C }, { 0x1A7F, 0x1A7F },
-  { 0x1AB0, 0x1ACE }, { 0x1B00, 0x1B03 }, { 0x1B34, 0x1B34 },
-  { 0x1B36, 0x1B3A }, { 0x1B3C, 0x1B3C }, { 0x1B42, 0x1B42 },
-  { 0x1B6B, 0x1B73 }, { 0x1B80, 0x1B81 }, { 0x1BA2, 0x1BA5 },
-  { 0x1BA8, 0x1BA9 }, { 0x1BAB, 0x1BAD }, { 0x1BE6, 0x1BE6 },
-  { 0x1BE8, 0x1BE9 }, { 0x1BED, 0x1BED }, { 0x1BEF, 0x1BF1 },
-  { 0x1C2C, 0x1C33 }, { 0x1C36, 0x1C37 }, { 0x1CD0, 0x1CD2 },
-  { 0x1CD4, 0x1CE0 }, { 0x1CE2, 0x1CE8 }, { 0x1CED, 0x1CED },
-  { 0x1CF4, 0x1CF4 }, { 0x1CF8, 0x1CF9 }, { 0x1DC0, 0x1DFF },
-  { 0x200B, 0x200F }, { 0x202A, 0x202E }, { 0x2060, 0x2064 },
-  { 0x2066, 0x206F }, { 0x20D0, 0x20F0 }, { 0x2CEF, 0x2CF1 },
-  { 0x2D7F, 0x2D7F }, { 0x2DE0, 0x2DFF }, { 0x302A, 0x302D },
-  { 0x3099, 0x309A }, { 0xA66F, 0xA672 }, { 0xA674, 0xA67D },
-  { 0xA69E, 0xA69F }, { 0xA6F0, 0xA6F1 }, { 0xA802, 0xA802 },
-  { 0xA806, 0xA806 }, { 0xA80B, 0xA80B }, { 0xA825, 0xA826 },
-  { 0xA82C, 0xA82C }, { 0xA8C4, 0xA8C5 }, { 0xA8E0, 0xA8F1 },
-  { 0xA8FF, 0xA8FF }, { 0xA926, 0xA92D }, { 0xA947, 0xA951 },
-  { 0xA980, 0xA982 }, { 0xA9B3, 0xA9B3 }, { 0xA9B6, 0xA9B9 },
-  { 0xA9BC, 0xA9BD }, { 0xA9E5, 0xA9E5 }, { 0xAA29, 0xAA2E },
-  { 0xAA31, 0xAA32 }, { 0xAA35, 0xAA36 }, { 0xAA43, 0xAA43 },
-  { 0xAA4C, 0xAA4C }, { 0xAA7C, 0xAA7C }, { 0xAAB0, 0xAAB0 },
-  { 0xAAB2, 0xAAB4 }, { 0xAAB7, 0xAAB8 }, { 0xAABE, 0xAABF },
-  { 0xAAC1, 0xAAC1 }, { 0xAAEC, 0xAAED }, { 0xAAF6, 0xAAF6 },
-  { 0xABE5, 0xABE5 }, { 0xABE8, 0xABE8 }, { 0xABED, 0xABED },
-  { 0xD7B0, 0xD7C6 }, { 0xD7CB, 0xD7FB }, { 0xFB1E, 0xFB1E },
-  { 0xFE00, 0xFE0F }, { 0xFE20, 0xFE2F }, { 0xFEFF, 0xFEFF },
-  { 0xFFF9, 0xFFFB }, { 0x101FD, 0x101FD }, { 0x102E0, 0x102E0 },
-  { 0x10376, 0x1037A }, { 0x10A01, 0x10A03 }, { 0x10A05, 0x10A06 },
-  { 0x10A0C, 0x10A0F }, { 0x10A38, 0x10A3A }, { 0x10A3F, 0x10A3F },
-  { 0x10AE5, 0x10AE6 }, { 0x10D24, 0x10D27 }, { 0x10EAB, 0x10EAC },
-  { 0x10EFD, 0x10EFF }, { 0x10F46, 0x10F50 }, { 0x10F82, 0x10F85 },
-  { 0x11001, 0x11001 }, { 0x11038, 0x11046 }, { 0x11070, 0x11070 },
-  { 0x11073, 0x11074 }, { 0x1107F, 0x11081 }, { 0x110B3, 0x110B6 },
-  { 0x110B9, 0x110BA }, { 0x110BD, 0x110BD }, { 0x110C2, 0x110C2 },
-  { 0x110CD, 0x110CD }, { 0x11100, 0x11102 }, { 0x11127, 0x1112B },
-  { 0x1112D, 0x11134 }, { 0x11173, 0x11173 }, { 0x11180, 0x11181 },
-  { 0x111B6, 0x111BE }, { 0x111C9, 0x111CC }, { 0x111CF, 0x111CF },
-  { 0x1122F, 0x11231 }, { 0x11234, 0x11234 }, { 0x11236, 0x11237 },
-  { 0x1123E, 0x1123E }, { 0x11241, 0x11241 }, { 0x112DF, 0x112DF },
-  { 0x112E3, 0x112EA }, { 0x11300, 0x11301 }, { 0x1133B, 0x1133C },
-  { 0x11340, 0x11340 }, { 0x11366, 0x1136C }, { 0x11370, 0x11374 },
-  { 0x11438, 0x1143F }, { 0x11442, 0x11444 }, { 0x11446, 0x11446 },
-  { 0x1145E, 0x1145E }, { 0x114B3, 0x114B8 }, { 0x114BA, 0x114BA },
-  { 0x114BF, 0x114C0 }, { 0x114C2, 0x114C3 }, { 0x115B2, 0x115B5 },
-  { 0x115BC, 0x115BD }, { 0x115BF, 0x115C0 }, { 0x115DC, 0x115DD },
-  { 0x11633, 0x1163A }, { 0x1163D, 0x1163D }, { 0x1163F, 0x11640 },
-  { 0x116AB, 0x116AB }, { 0x116AD, 0x116AD }, { 0x116B0, 0x116B5 },
-  { 0x116B7, 0x116B7 }, { 0x1171D, 0x1171F }, { 0x11722, 0x11725 },
-  { 0x11727, 0x1172B }, { 0x1182F, 0x11837 }, { 0x11839, 0x1183A },
-  { 0x1193B, 0x1193C }, { 0x1193E, 0x1193E }, { 0x11943, 0x11943 },
-  { 0x119D4, 0x119D7 }, { 0x119DA, 0x119DB }, { 0x119E0, 0x119E0 },
-  { 0x11A01, 0x11A0A }, { 0x11A33, 0x11A38 }, { 0x11A3B, 0x11A3E },
-  { 0x11A47, 0x11A47 }, { 0x11A51, 0x11A56 }, { 0x11A59, 0x11A5B },
-  { 0x11A8A, 0x11A96 }, { 0x11A98, 0x11A99 }, { 0x11C30, 0x11C36 },
-  { 0x11C38, 0x11C3D }, { 0x11C3F, 0x11C3F }, { 0x11C92, 0x11CA7 },
-  { 0x11CAA, 0x11CB0 }, { 0x11CB2, 0x11CB3 }, { 0x11CB5, 0x11CB6 },
-  { 0x11D31, 0x11D36 }, { 0x11D3A, 0x11D3A }, { 0x11D3C, 0x11D3D },
-  { 0x11D3F, 0x11D45 }, { 0x11D47, 0x11D47 }, { 0x11D90, 0x11D91 },
-  { 0x11D95, 0x11D95 }, { 0x11D97, 0x11D97 }, { 0x11EF3, 0x11EF4 },
-  { 0x11F00, 0x11F01 }, { 0x11F36, 0x11F3A }, { 0x11F40, 0x11F40 },
-  { 0x11F42, 0x11F42 }, { 0x13430, 0x13440 }, { 0x13447, 0x13455 },
-  { 0x16AF0, 0x16AF4 }, { 0x16B30, 0x16B36 }, { 0x16F4F, 0x16F4F },
-  { 0x16F8F, 0x16F92 }, { 0x16FE4, 0x16FE4 }, { 0x1BC9D, 0x1BC9E },
-  { 0x1BCA0, 0x1BCA3 }, { 0x1CF00, 0x1CF2D }, { 0x1CF30, 0x1CF46 },
-  { 0x1D167, 0x1D169 }, { 0x1D173, 0x1D182 }, { 0x1D185, 0x1D18B },
-  { 0x1D1AA, 0x1D1AD }, { 0x1D242, 0x1D244 }, { 0x1DA00, 0x1DA36 },
-  { 0x1DA3B, 0x1DA6C }, { 0x1DA75, 0x1DA75 }, { 0x1DA84, 0x1DA84 },
-  { 0x1DA9B, 0x1DA9F }, { 0x1DAA1, 0x1DAAF }, { 0x1E000, 0x1E006 },
-  { 0x1E008, 0x1E018 }, { 0x1E01B, 0x1E021 }, { 0x1E023, 0x1E024 },
-  { 0x1E026, 0x1E02A }, { 0x1E08F, 0x1E08F }, { 0x1E130, 0x1E136 },
-  { 0x1E2AE, 0x1E2AE }, { 0x1E2EC, 0x1E2EF }, { 0x1E4EC, 0x1E4EF },
-  { 0x1E8D0, 0x1E8D6 }, { 0x1E944, 0x1E94A }, { 0xE0001, 0xE0001 },
-  { 0xE0020, 0xE007F }, { 0xE0100, 0xE01EF }
+  { 0x1AB0, 0x1ADD }, { 0x1AE0, 0x1AEB }, { 0x1B00, 0x1B03 },
+  { 0x1B34, 0x1B34 }, { 0x1B36, 0x1B3A }, { 0x1B3C, 0x1B3C },
+  { 0x1B42, 0x1B42 }, { 0x1B6B, 0x1B73 }, { 0x1B80, 0x1B81 },
+  { 0x1BA2, 0x1BA5 }, { 0x1BA8, 0x1BA9 }, { 0x1BAB, 0x1BAD },
+  { 0x1BE6, 0x1BE6 }, { 0x1BE8, 0x1BE9 }, { 0x1BED, 0x1BED },
+  { 0x1BEF, 0x1BF1 }, { 0x1C2C, 0x1C33 }, { 0x1C36, 0x1C37 },
+  { 0x1CD0, 0x1CD2 }, { 0x1CD4, 0x1CE0 }, { 0x1CE2, 0x1CE8 },
+  { 0x1CED, 0x1CED }, { 0x1CF4, 0x1CF4 }, { 0x1CF8, 0x1CF9 },
+  { 0x1DC0, 0x1DFF }, { 0x200B, 0x200F }, { 0x202A, 0x202E },
+  { 0x2060, 0x2064 }, { 0x2066, 0x206F }, { 0x20D0, 0x20F0 },
+  { 0x2CEF, 0x2CF1 }, { 0x2D7F, 0x2D7F }, { 0x2DE0, 0x2DFF },
+  { 0x302A, 0x302D }, { 0x3099, 0x309A }, { 0xA66F, 0xA672 },
+  { 0xA674, 0xA67D }, { 0xA69E, 0xA69F }, { 0xA6F0, 0xA6F1 },
+  { 0xA802, 0xA802 }, { 0xA806, 0xA806 }, { 0xA80B, 0xA80B },
+  { 0xA825, 0xA826 }, { 0xA82C, 0xA82C }, { 0xA8C4, 0xA8C5 },
+  { 0xA8E0, 0xA8F1 }, { 0xA8FF, 0xA8FF }, { 0xA926, 0xA92D },
+  { 0xA947, 0xA951 }, { 0xA980, 0xA982 }, { 0xA9B3, 0xA9B3 },
+  { 0xA9B6, 0xA9B9 }, { 0xA9BC, 0xA9BD }, { 0xA9E5, 0xA9E5 },
+  { 0xAA29, 0xAA2E }, { 0xAA31, 0xAA32 }, { 0xAA35, 0xAA36 },
+  { 0xAA43, 0xAA43 }, { 0xAA4C, 0xAA4C }, { 0xAA7C, 0xAA7C },
+  { 0xAAB0, 0xAAB0 }, { 0xAAB2, 0xAAB4 }, { 0xAAB7, 0xAAB8 },
+  { 0xAABE, 0xAABF }, { 0xAAC1, 0xAAC1 }, { 0xAAEC, 0xAAED },
+  { 0xAAF6, 0xAAF6 }, { 0xABE5, 0xABE5 }, { 0xABE8, 0xABE8 },
+  { 0xABED, 0xABED }, { 0xD7B0, 0xD7C6 }, { 0xD7CB, 0xD7FB },
+  { 0xFB1E, 0xFB1E }, { 0xFE00, 0xFE0F }, { 0xFE20, 0xFE2F },
+  { 0xFEFF, 0xFEFF }, { 0xFFF9, 0xFFFB }, { 0x101FD, 0x101FD },
+  { 0x102E0, 0x102E0 }, { 0x10376, 0x1037A }, { 0x10A01, 0x10A03 },
+  { 0x10A05, 0x10A06 }, { 0x10A0C, 0x10A0F }, { 0x10A38, 0x10A3A },
+  { 0x10A3F, 0x10A3F }, { 0x10AE5, 0x10AE6 }, { 0x10D24, 0x10D27 },
+  { 0x10D69, 0x10D6D }, { 0x10EAB, 0x10EAC }, { 0x10EFA, 0x10EFF },
+  { 0x10F46, 0x10F50 }, { 0x10F82, 0x10F85 }, { 0x11001, 0x11001 },
+  { 0x11038, 0x11046 }, { 0x11070, 0x11070 }, { 0x11073, 0x11074 },
+  { 0x1107F, 0x11081 }, { 0x110B3, 0x110B6 }, { 0x110B9, 0x110BA },
+  { 0x110BD, 0x110BD }, { 0x110C2, 0x110C2 }, { 0x110CD, 0x110CD },
+  { 0x11100, 0x11102 }, { 0x11127, 0x1112B }, { 0x1112D, 0x11134 },
+  { 0x11173, 0x11173 }, { 0x11180, 0x11181 }, { 0x111B6, 0x111BE },
+  { 0x111C9, 0x111CC }, { 0x111CF, 0x111CF }, { 0x1122F, 0x11231 },
+  { 0x11234, 0x11234 }, { 0x11236, 0x11237 }, { 0x1123E, 0x1123E },
+  { 0x11241, 0x11241 }, { 0x112DF, 0x112DF }, { 0x112E3, 0x112EA },
+  { 0x11300, 0x11301 }, { 0x1133B, 0x1133C }, { 0x11340, 0x11340 },
+  { 0x11366, 0x1136C }, { 0x11370, 0x11374 }, { 0x113BB, 0x113C0 },
+  { 0x113CE, 0x113CE }, { 0x113D0, 0x113D0 }, { 0x113D2, 0x113D2 },
+  { 0x113E1, 0x113E2 }, { 0x11438, 0x1143F }, { 0x11442, 0x11444 },
+  { 0x11446, 0x11446 }, { 0x1145E, 0x1145E }, { 0x114B3, 0x114B8 },
+  { 0x114BA, 0x114BA }, { 0x114BF, 0x114C0 }, { 0x114C2, 0x114C3 },
+  { 0x115B2, 0x115B5 }, { 0x115BC, 0x115BD }, { 0x115BF, 0x115C0 },
+  { 0x115DC, 0x115DD }, { 0x11633, 0x1163A }, { 0x1163D, 0x1163D },
+  { 0x1163F, 0x11640 }, { 0x116AB, 0x116AB }, { 0x116AD, 0x116AD },
+  { 0x116B0, 0x116B5 }, { 0x116B7, 0x116B7 }, { 0x1171D, 0x1171D },
+  { 0x1171F, 0x1171F }, { 0x11722, 0x11725 }, { 0x11727, 0x1172B },
+  { 0x1182F, 0x11837 }, { 0x11839, 0x1183A }, { 0x1193B, 0x1193C },
+  { 0x1193E, 0x1193E }, { 0x11943, 0x11943 }, { 0x119D4, 0x119D7 },
+  { 0x119DA, 0x119DB }, { 0x119E0, 0x119E0 }, { 0x11A01, 0x11A0A },
+  { 0x11A33, 0x11A38 }, { 0x11A3B, 0x11A3E }, { 0x11A47, 0x11A47 },
+  { 0x11A51, 0x11A56 }, { 0x11A59, 0x11A5B }, { 0x11A8A, 0x11A96 },
+  { 0x11A98, 0x11A99 }, { 0x11B60, 0x11B60 }, { 0x11B62, 0x11B64 },
+  { 0x11B66, 0x11B66 }, { 0x11C30, 0x11C36 }, { 0x11C38, 0x11C3D },
+  { 0x11C3F, 0x11C3F }, { 0x11C92, 0x11CA7 }, { 0x11CAA, 0x11CB0 },
+  { 0x11CB2, 0x11CB3 }, { 0x11CB5, 0x11CB6 }, { 0x11D31, 0x11D36 },
+  { 0x11D3A, 0x11D3A }, { 0x11D3C, 0x11D3D }, { 0x11D3F, 0x11D45 },
+  { 0x11D47, 0x11D47 }, { 0x11D90, 0x11D91 }, { 0x11D95, 0x11D95 },
+  { 0x11D97, 0x11D97 }, { 0x11EF3, 0x11EF4 }, { 0x11F00, 0x11F01 },
+  { 0x11F36, 0x11F3A }, { 0x11F40, 0x11F40 }, { 0x11F42, 0x11F42 },
+  { 0x11F5A, 0x11F5A }, { 0x13430, 0x13440 }, { 0x13447, 0x13455 },
+  { 0x1611E, 0x16129 }, { 0x1612D, 0x1612F }, { 0x16AF0, 0x16AF4 },
+  { 0x16B30, 0x16B36 }, { 0x16F4F, 0x16F4F }, { 0x16F8F, 0x16F92 },
+  { 0x16FE4, 0x16FE4 }, { 0x1BC9D, 0x1BC9E }, { 0x1BCA0, 0x1BCA3 },
+  { 0x1CF00, 0x1CF2D }, { 0x1CF30, 0x1CF46 }, { 0x1D167, 0x1D169 },
+  { 0x1D173, 0x1D182 }, { 0x1D185, 0x1D18B }, { 0x1D1AA, 0x1D1AD },
+  { 0x1D242, 0x1D244 }, { 0x1DA00, 0x1DA36 }, { 0x1DA3B, 0x1DA6C },
+  { 0x1DA75, 0x1DA75 }, { 0x1DA84, 0x1DA84 }, { 0x1DA9B, 0x1DA9F },
+  { 0x1DAA1, 0x1DAAF }, { 0x1E000, 0x1E006 }, { 0x1E008, 0x1E018 },
+  { 0x1E01B, 0x1E021 }, { 0x1E023, 0x1E024 }, { 0x1E026, 0x1E02A },
+  { 0x1E08F, 0x1E08F }, { 0x1E130, 0x1E136 }, { 0x1E2AE, 0x1E2AE },
+  { 0x1E2EC, 0x1E2EF }, { 0x1E4EC, 0x1E4EF }, { 0x1E5EE, 0x1E5EF },
+  { 0x1E6E3, 0x1E6E3 }, { 0x1E6E6, 0x1E6E6 }, { 0x1E6EE, 0x1E6EF },
+  { 0x1E6F5, 0x1E6F5 }, { 0x1E8D0, 0x1E8D6 }, { 0x1E944, 0x1E94A },
+  { 0xE0001, 0xE0001 }, { 0xE0020, 0xE007F }, { 0xE0100, 0xE01EF }
 };
diff --git a/newlib/libc/string/wide.t b/newlib/libc/string/wide.t
index 11dd15f20..4260d0953 100644
--- a/newlib/libc/string/wide.t
+++ b/newlib/libc/string/wide.t
@@ -1,33 +1,32 @@
-//# EastAsianWidth-15.0.0.txt
-//# Blocks-15.0.0.txt
 {
   { 0x1100, 0x115F }, { 0x231A, 0x231B }, { 0x2329, 0x232A },
   { 0x23E9, 0x23EC }, { 0x23F0, 0x23F0 }, { 0x23F3, 0x23F3 },
-  { 0x25FD, 0x25FE }, { 0x2614, 0x2615 }, { 0x2648, 0x2653 },
-  { 0x267F, 0x267F }, { 0x2693, 0x2693 }, { 0x26A1, 0x26A1 },
-  { 0x26AA, 0x26AB }, { 0x26BD, 0x26BE }, { 0x26C4, 0x26C5 },
-  { 0x26CE, 0x26CE }, { 0x26D4, 0x26D4 }, { 0x26EA, 0x26EA },
-  { 0x26F2, 0x26F3 }, { 0x26F5, 0x26F5 }, { 0x26FA, 0x26FA },
-  { 0x26FD, 0x26FD }, { 0x2705, 0x2705 }, { 0x270A, 0x270B },
-  { 0x2728, 0x2728 }, { 0x274C, 0x274C }, { 0x274E, 0x274E },
-  { 0x2753, 0x2755 }, { 0x2757, 0x2757 }, { 0x2795, 0x2797 },
-  { 0x27B0, 0x27B0 }, { 0x27BF, 0x27BF }, { 0x2B1B, 0x2B1C },
-  { 0x2B50, 0x2B50 }, { 0x2B55, 0x2B55 }, { 0x2E80, 0x303E },
-  { 0x3040, 0x321E }, { 0x3220, 0x3247 }, { 0x3250, 0x4DBF },
-  { 0x4E00, 0xA4CF }, { 0xA960, 0xA97F }, { 0xAC00, 0xD7AF },
-  { 0xF900, 0xFAFF }, { 0xFE10, 0xFE1F }, { 0xFE30, 0xFE6F },
-  { 0xFF01, 0xFF60 }, { 0xFFE0, 0xFFE6 }, { 0x16FE0, 0x18D7F },
-  { 0x1AFF0, 0x1B2FF }, { 0x1F004, 0x1F004 }, { 0x1F0CF, 0x1F0CF },
-  { 0x1F18E, 0x1F18E }, { 0x1F191, 0x1F19A }, { 0x1F200, 0x1F320 },
-  { 0x1F32D, 0x1F335 }, { 0x1F337, 0x1F37C }, { 0x1F37E, 0x1F393 },
-  { 0x1F3A0, 0x1F3CA }, { 0x1F3CF, 0x1F3D3 }, { 0x1F3E0, 0x1F3F0 },
-  { 0x1F3F4, 0x1F3F4 }, { 0x1F3F8, 0x1F43E }, { 0x1F440, 0x1F440 },
-  { 0x1F442, 0x1F4FC }, { 0x1F4FF, 0x1F53D }, { 0x1F54B, 0x1F54E },
-  { 0x1F550, 0x1F567 }, { 0x1F57A, 0x1F57A }, { 0x1F595, 0x1F596 },
-  { 0x1F5A4, 0x1F5A4 }, { 0x1F5FB, 0x1F64F }, { 0x1F680, 0x1F6C5 },
-  { 0x1F6CC, 0x1F6CC }, { 0x1F6D0, 0x1F6D2 }, { 0x1F6D5, 0x1F6D7 },
-  { 0x1F6DC, 0x1F6DF }, { 0x1F6EB, 0x1F6EC }, { 0x1F6F4, 0x1F6FC },
-  { 0x1F7E0, 0x1F7EB }, { 0x1F7F0, 0x1F7F0 }, { 0x1F90C, 0x1F93A },
-  { 0x1F93C, 0x1F945 }, { 0x1F947, 0x1F9FF }, { 0x1FA70, 0x1FAFF },
-  { 0x20000, 0x2FFFD }, { 0x30000, 0x3FFFD }
+  { 0x25FD, 0x25FE }, { 0x2614, 0x2615 }, { 0x2630, 0x2637 },
+  { 0x2648, 0x2653 }, { 0x267F, 0x267F }, { 0x268A, 0x268F },
+  { 0x2693, 0x2693 }, { 0x26A1, 0x26A1 }, { 0x26AA, 0x26AB },
+  { 0x26BD, 0x26BE }, { 0x26C4, 0x26C5 }, { 0x26CE, 0x26CE },
+  { 0x26D4, 0x26D4 }, { 0x26EA, 0x26EA }, { 0x26F2, 0x26F3 },
+  { 0x26F5, 0x26F5 }, { 0x26FA, 0x26FA }, { 0x26FD, 0x26FD },
+  { 0x2705, 0x2705 }, { 0x270A, 0x270B }, { 0x2728, 0x2728 },
+  { 0x274C, 0x274C }, { 0x274E, 0x274E }, { 0x2753, 0x2755 },
+  { 0x2757, 0x2757 }, { 0x2795, 0x2797 }, { 0x27B0, 0x27B0 },
+  { 0x27BF, 0x27BF }, { 0x2B1B, 0x2B1C }, { 0x2B50, 0x2B50 },
+  { 0x2B55, 0x2B55 }, { 0x2E80, 0x303E }, { 0x3040, 0x321E },
+  { 0x3220, 0x3247 }, { 0x3250, 0xA4CF }, { 0xA960, 0xA97F },
+  { 0xAC00, 0xD7AF }, { 0xF900, 0xFAFF }, { 0xFE10, 0xFE1F },
+  { 0xFE30, 0xFE6F }, { 0xFF01, 0xFF60 }, { 0xFFE0, 0xFFE6 },
+  { 0x16FE0, 0x18DFF }, { 0x1AFF0, 0x1B2FF }, { 0x1D300, 0x1D376 },
+  { 0x1F004, 0x1F004 }, { 0x1F0CF, 0x1F0CF }, { 0x1F18E, 0x1F18E },
+  { 0x1F191, 0x1F19A }, { 0x1F200, 0x1F320 }, { 0x1F32D, 0x1F335 },
+  { 0x1F337, 0x1F37C }, { 0x1F37E, 0x1F393 }, { 0x1F3A0, 0x1F3CA },
+  { 0x1F3CF, 0x1F3D3 }, { 0x1F3E0, 0x1F3F0 }, { 0x1F3F4, 0x1F3F4 },
+  { 0x1F3F8, 0x1F43E }, { 0x1F440, 0x1F440 }, { 0x1F442, 0x1F4FC },
+  { 0x1F4FF, 0x1F53D }, { 0x1F54B, 0x1F54E }, { 0x1F550, 0x1F567 },
+  { 0x1F57A, 0x1F57A }, { 0x1F595, 0x1F596 }, { 0x1F5A4, 0x1F5A4 },
+  { 0x1F5FB, 0x1F64F }, { 0x1F680, 0x1F6C5 }, { 0x1F6CC, 0x1F6CC },
+  { 0x1F6D0, 0x1F6D2 }, { 0x1F6D5, 0x1F6D8 }, { 0x1F6DC, 0x1F6DF },
+  { 0x1F6EB, 0x1F6EC }, { 0x1F6F4, 0x1F6FC }, { 0x1F7E0, 0x1F7EB },
+  { 0x1F7F0, 0x1F7F0 }, { 0x1F90C, 0x1F93A }, { 0x1F93C, 0x1F945 },
+  { 0x1F947, 0x1F9FF }, { 0x1FA70, 0x1FAFF }, { 0x20000, 0x2FFFD },
+  { 0x30000, 0x3FFFD }
 };

Reply via email to