public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-2771] libcpp: Fix makeucnid bug with combining values [PR100977]
@ 2021-08-05 15:34 Jakub Jelinek
  0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2021-08-05 15:34 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:4805b92a32637b987f924463d6af9dcf95b21f63

commit r12-2771-g4805b92a32637b987f924463d6af9dcf95b21f63
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Thu Aug 5 17:34:16 2021 +0200

    libcpp: Fix makeucnid bug with combining values [PR100977]
    
    I've noticed in ucnid.h two adjacent lines that had all flags and combine
    values identical and as such were supposed to be merged.
    
    This is due to a bug in makeucnid.c, which records last_flag,
    last_combine and really_safe of what has just been printed, but
    because of a typo mishandles it for last_combine, always compares against
    the combining_value[0] which is 0.
    
    This has two effects on the table, one is that often the table is
    unnecessarily large, as for non-zero .combine every character has its own
    record instead of adjacent characters with the same flags and combine
    being merged.  This means larger tables.
    The other is that sometimes the last char that has combine set doesn't
    actually have it in the tables, because the code is printing entries only
    upon seeing the next character and if that character does have
    combining_value of 0 and flags are otherwise the same as previously printed,
    it will not print anything.
    
    The following patch fixes that, for clarity what exactly it affects
    I've regenerated with the same Unicode files as last time it has
    been regenerated.
    
    2021-08-05  Jakub Jelinek  <jakub@redhat.com>
    
            PR c++/100977
            * makeucnid.c (write_table): Fix computation of last_combine.
            * ucnid.h: Regenerated using Unicode 6.3.0 files.

Diff:
---
 libcpp/makeucnid.c |   2 +-
 libcpp/ucnid.h     | 435 +++++++++++------------------------------------------
 2 files changed, 91 insertions(+), 346 deletions(-)

diff --git a/libcpp/makeucnid.c b/libcpp/makeucnid.c
index 66d251d3c88..d2c8d58a50e 100644
--- a/libcpp/makeucnid.c
+++ b/libcpp/makeucnid.c
@@ -274,7 +274,7 @@ write_table (void)
 		combining_value[i - 1],
 		i - 1);
 	last_flag = flags[i];
-	last_combine = combining_value[0];
+	last_combine = combining_value[i];
 	really_safe = decomp[i][0] == 0;
       }
 
diff --git a/libcpp/ucnid.h b/libcpp/ucnid.h
index 24419adff7a..5dd6d00a4e9 100644
--- a/libcpp/ucnid.h
+++ b/libcpp/ucnid.h
@@ -116,116 +116,52 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x02df },
 { C99|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x02e4 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x02ff },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0300 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0301 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0302 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0303 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0304 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0305 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0306 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0307 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0308 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0309 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x030a },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x030b },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x030c },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x030d },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x030e },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x030f },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0310 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0311 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0312 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0313 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0314 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 232, 0x0315 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0316 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0317 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0318 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0319 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 232, 0x031a },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 216, 0x031b },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x031c },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x031d },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x031e },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x031f },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0320 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 202, 0x0321 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 202, 0x0322 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 220, 0x0323 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 220, 0x0324 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 220, 0x0325 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 220, 0x0326 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 202, 0x0327 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 202, 0x0328 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0329 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x032a },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x032b },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x032c },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 220, 0x032d },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 220, 0x032e },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x032f },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 220, 0x0330 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 220, 0x0331 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0332 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0333 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x0334 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x0335 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x0336 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x0337 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX,   1, 0x0338 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0339 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x033a },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x033b },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x033c },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x033d },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x033e },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x033f },
-{   0|  0|  0|C11|N11|  0|  0|  0|  0, 230, 0x0340 },
 {   0|  0|  0|C11|N11|  0|  0|  0|  0, 230, 0x0341 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 230, 0x0342 },
-{   0|  0|  0|C11|N11|  0|  0|  0|  0, 230, 0x0343 },
 {   0|  0|  0|C11|N11|  0|  0|  0|  0, 230, 0x0344 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|CTX, 240, 0x0345 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0346 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0347 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0348 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0349 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x034a },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x034b },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x034c },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x034d },
+{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x034e },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   0, 0x034f },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0350 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0351 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0352 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0353 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0354 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0355 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0356 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0357 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 232, 0x0358 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x0359 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x035a },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x035b },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 233, 0x035c },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 234, 0x035d },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 234, 0x035e },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 233, 0x035f },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 234, 0x0360 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 234, 0x0361 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 233, 0x0362 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0363 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0364 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0365 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0366 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0367 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0368 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x0369 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x036a },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x036b },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x036c },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x036d },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x036e },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x036f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0373 },
 {   0|  0|  0|C11|  0|  0|  0|  0|  0,   0, 0x0374 },
@@ -298,10 +234,7 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|CXX|C11|  0|  0|NFC|NKC|  0,   0, 0x0477 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0481 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0482 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0483 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0484 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0485 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0486 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0487 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x048f },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x04c0 },
 { C99|  0|CXX|C11|  0|  0|NFC|NKC|  0,   0, 0x04c2 },
@@ -333,32 +266,15 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|CXX|C11|  0|CID|NFC|  0|  0,   0, 0x0587 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0590 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0591 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0592 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0593 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0594 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0595 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0596 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0597 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0598 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0599 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 222, 0x059a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x059b },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x059c },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x059d },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x059e },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x059f },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x05a0 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x05a1 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x05a2 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x05a3 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x05a4 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x05a5 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x05a6 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x05a7 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x05a8 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x05a9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x05aa },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x05ab },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x05ac },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 222, 0x05ad },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 228, 0x05ae },
@@ -384,23 +300,19 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,  25, 0x05c2 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x05c3 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x05c4 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x05c5 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x05c6 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,  18, 0x05c7 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x05cf },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x05ea },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x05ef },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x05f2 },
 {   0|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x05f4 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x060f },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0610 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0611 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0612 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0613 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0614 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0615 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0616 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0617 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,  30, 0x0618 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,  31, 0x0619 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,  32, 0x061a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0620 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0621 },
 { C99|  0|CXX|C11|  0|  0|NFC|NKC|  0,   0, 0x0626 },
@@ -415,21 +327,16 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,  32, 0x0650 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,  33, 0x0651 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,  34, 0x0652 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|CTX, 230, 0x0653 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|CTX, 230, 0x0654 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|CTX, 220, 0x0655 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0656 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0657 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0658 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0659 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x065a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x065b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x065c },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x065d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x065e },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x065f },
 { C99|N99|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0669 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x066f },
+{ C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,  35, 0x0670 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0674 },
 { C99|  0|CXX|C11|  0|CID|NFC|  0|  0,   0, 0x0678 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x06b7 },
@@ -444,17 +351,8 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x06d2 },
 { C99|  0|  0|C11|  0|  0|NFC|NKC|  0,   0, 0x06d3 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x06d5 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06d6 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06d7 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06d8 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06d9 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06da },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06db },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06dc },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x06de },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06df },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06e0 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06e1 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06e2 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x06e3 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06e4 },
@@ -463,30 +361,23 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06e8 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x06e9 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x06ea },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06eb },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x06ec },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x06ed },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x06ef },
 { C99|N99|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x06f9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0710 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,  36, 0x0711 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x072f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0730 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0731 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0732 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0733 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0734 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0735 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0736 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0737 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0738 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0739 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x073a },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x073b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x073c },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x073d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x073e },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x073f },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0740 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0741 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0742 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0743 },
@@ -495,67 +386,36 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0746 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0747 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0748 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0749 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x074a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x07ea },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x07eb },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x07ec },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x07ed },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x07ee },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x07ef },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x07f0 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x07f1 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x07f2 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x07f3 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0815 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0816 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0817 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0818 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0819 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x081a },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x081b },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x081c },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x081d },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x081e },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x081f },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0820 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0821 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0822 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0823 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0824 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0825 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0826 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0827 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0828 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0829 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x082a },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x082b },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x082c },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x082d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0858 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0859 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x085a },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x085b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x08e3 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08e4 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08e5 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x08e6 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08e7 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08e8 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x08e9 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08ea },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08eb },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08ec },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x08ed },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x08ee },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x08ef },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,  27, 0x08f0 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,  28, 0x08f1 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,  29, 0x08f2 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08f3 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08f4 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08f5 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x08f6 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08f7 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08f8 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x08f9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x08fa },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08fb },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08fc },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08fd },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x08fe },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0900 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0903 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0904 },
@@ -574,7 +434,7 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0950 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0951 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0952 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0953 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0954 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0957 },
 { C99|  0|CXX|C11|  0|  0|  0|  0|  0,   0, 0x095f },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0962 },
@@ -596,6 +456,7 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x09b5 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x09b9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x09bb },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   7, 0x09bc },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x09bd },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|CTX,   0, 0x09be },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x09c4 },
@@ -634,6 +495,7 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0a37 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0a39 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0a3b },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   7, 0x0a3c },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0a3d },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0a42 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0a46 },
@@ -789,6 +651,7 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0cb4 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0cb9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0cbb },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   7, 0x0cbc },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0cbd },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0cbf },
 { C99|  0|  0|C11|  0|  0|NFC|NKC|  0,   0, 0x0cc0 },
@@ -849,15 +712,13 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0e32 },
 { C99|  0|CXX|C11|  0|CID|NFC|  0|  0,   0, 0x0e33 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0e37 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 103, 0x0e38 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 103, 0x0e39 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x0e3a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0e3f },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0e46 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0e47 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 107, 0x0e48 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 107, 0x0e49 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 107, 0x0e4a },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 107, 0x0e4b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0e4e },
 {   0|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0e4f },
 { C99|N99|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0e59 },
@@ -892,7 +753,6 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0eb2 },
 { C99|  0|CXX|C11|  0|CID|NFC|  0|  0,   0, 0x0eb3 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0eb7 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 118, 0x0eb8 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 118, 0x0eb9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0eba },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0ebc },
@@ -902,9 +762,7 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0ec5 },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x0ec6 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0ec7 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 122, 0x0ec8 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 122, 0x0ec9 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 122, 0x0eca },
+{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 122, 0x0ecb },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0ecd },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0ecf },
 { C99|N99|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0ed9 },
@@ -915,7 +773,6 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f0b },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x0f0c },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f17 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0f18 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0f19 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f1f },
 { C99|N99|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f33 },
@@ -949,17 +806,14 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x0f77 },
 { C99|  0|  0|C11|  0|  0|  0|  0|  0,   0, 0x0f78 },
 { C99|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x0f79 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 130, 0x0f7a },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 130, 0x0f7b },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 130, 0x0f7c },
+{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 130, 0x0f7d },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f7f },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 130, 0x0f80 },
 { C99|  0|  0|C11|  0|  0|  0|  0|  0,   0, 0x0f81 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0f82 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0f83 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x0f84 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f85 },
-{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0f86 },
+{ C99|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x0f87 },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f8b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f8f },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0f92 },
@@ -982,14 +836,17 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0fb8 },
 { C99|  0|  0|C11|  0|  0|  0|  0|  0,   0, 0x0fb9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x0fc5 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x0fc6 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1025 },
 {   0|  0|  0|C11|  0|  0|NFC|NKC|  0,   0, 0x1026 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x102d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|CTX,   0, 0x102e },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1036 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   7, 0x1037 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1038 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1039 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x103a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x108c },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x108d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x109f },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x10c5 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x10cf },
@@ -1005,32 +862,34 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|CXX|C11|  0|CID|NFC|NKC|CTX,   0, 0x11c2 },
 {   0|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x11f9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x135c },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x135d },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x135e },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x135f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x167f },
 {   0|  0|  0|  0|  0|CID|NFC|NKC|  0,   0, 0x1680 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1713 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1714 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1733 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1734 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x17d1 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x17d2 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x17dc },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x17dd },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x180d },
 {   0|  0|  0|  0|  0|CID|NFC|NKC|  0,   0, 0x180e },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x18a8 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 228, 0x18a9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1938 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 222, 0x1939 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x193a },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x193b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1a16 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a17 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1a18 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1a5f },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1a60 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1a74 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a75 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a76 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a77 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a78 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a79 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a7a },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a7b },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1a7c },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1a7e },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1a7f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1b05 },
 {   0|  0|  0|C11|  0|  0|NFC|NKC|  0,   0, 0x1b06 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1b07 },
@@ -1054,46 +913,33 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|  0|NFC|NKC|  0,   0, 0x1b41 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1b42 },
 {   0|  0|  0|C11|  0|  0|NFC|NKC|  0,   0, 0x1b43 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1b44 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1b6a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1b6b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1b6c },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1b6d },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1b6e },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1b6f },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1b70 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1b71 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1b72 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1b73 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1ba9 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1baa },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1bab },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1be5 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   7, 0x1be6 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1bf1 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1bf2 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x1bf3 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1c36 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   7, 0x1c37 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1ccf },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1cd0 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1cd1 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1cd2 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1cd3 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1cd4 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cd5 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cd6 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cd7 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cd8 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cd9 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1cda },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1cdb },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cdc },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cdd },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cde },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1cdf },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1ce0 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1ce1 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1ce2 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1ce3 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1ce4 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1ce5 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1ce6 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1ce7 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1ce8 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1cec },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1ced },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1cf3 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1cf4 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d2b },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x1d2e },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d2f },
@@ -1106,44 +952,16 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x1d78 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d9a },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x1dbf },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc0 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc1 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x1dc2 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc3 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc4 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc5 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc6 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc7 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc8 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dc9 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x1dca },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dcb },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dcc },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 234, 0x1dcd },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 214, 0x1dce },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x1dcf },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 202, 0x1dd0 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd1 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd2 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd3 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd4 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd5 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd6 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd7 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd8 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dd9 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dda },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1ddb },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1ddc },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1ddd },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1dde },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1ddf },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1de0 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1de1 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1de2 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1de3 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1de4 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1de5 },
+{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x1de6 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   0, 0x1dfb },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 233, 0x1dfc },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x1dfd },
@@ -1275,31 +1093,21 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x20a7 },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x20a8 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x20cf },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20d0 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20d1 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20d2 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20d3 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20d4 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20d5 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20d6 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20d7 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20d8 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20d9 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20da },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20db },
+{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20dc },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   0, 0x20e0 },
+{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20e1 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   0, 0x20e4 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20e5 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20e6 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20e7 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x20e8 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20e9 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20ea },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   1, 0x20eb },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x20ec },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x20ed },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x20ee },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 220, 0x20ef },
+{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0x20f0 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   0, 0x20ff },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x2101 },
 { C99|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x2102 },
@@ -1353,43 +1161,12 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x2c7b },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x2c7d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x2cee },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2cef },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2cf0 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2cf1 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x2d6e },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x2d6f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x2d7e },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x2d7f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x2ddf },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de0 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de1 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de2 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de3 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de4 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de5 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de6 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de7 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de8 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2de9 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dea },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2deb },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dec },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2ded },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dee },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2def },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df0 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df1 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df2 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df3 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df4 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df5 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df6 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df7 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df8 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2df9 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dfa },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dfb },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dfc },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dfd },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dfe },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x2dff },
 {   0|  0|  0|  0|  0|CID|NFC|NKC|  0,   0, 0x2e7f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x2e9e },
@@ -1408,7 +1185,6 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 228, 0x302b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 232, 0x302c },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 222, 0x302d },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 224, 0x302e },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 224, 0x302f },
 {   0|  0|  0|  0|  0|CID|NFC|NKC|  0,   0, 0x3030 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x3035 },
@@ -1459,7 +1235,6 @@ static const struct ucnrange ucnranges[] = {
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x3093 },
 {   0|  0|CXX|C11|  0|  0|NFC|NKC|  0,   0, 0x3094 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x3098 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|CTX,   8, 0x3099 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|CTX,   8, 0x309a },
 { C99|  0|CXX|C11|  0|CID|NFC|  0|  0,   0, 0x309c },
 {   0|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x309d },
@@ -1533,60 +1308,46 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x4dff },
 { C99|  0|CXX|C11|  0|CID|NFC|NKC|  0,   0, 0x9fa5 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa66e },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa66f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa673 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa674 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa675 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa676 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa677 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa678 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa679 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa67a },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa67b },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa67c },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa67d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa69e },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa69f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa6ef },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa6f0 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa6f1 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa76f },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0xa770 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa7f7 },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0xa7f9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa805 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0xa806 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa8c3 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0xa8c4 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa8df },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e0 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e1 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e2 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e3 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e4 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e5 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e6 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e7 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e8 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8e9 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8ea },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8eb },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8ec },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8ed },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8ee },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8ef },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8f0 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xa8f1 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa92a },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0xa92b },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0xa92c },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0xa92d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa952 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0xa953 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa9b2 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   7, 0xa9b3 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xa9bf },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0xa9c0 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xaaaf },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xaab0 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xaab1 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xaab2 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xaab3 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0xaab4 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xaab6 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xaab7 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xaab8 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xaabd },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xaabe },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xaabf },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xaac0 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0xaac1 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xaaf5 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0xaaf6 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xabec },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0xabed },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xabff },
 { C99|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xd7a3 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xd7ff },
@@ -1644,12 +1405,7 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xfe0f },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0xfe19 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xfe1f },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0xfe20 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0xfe21 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0xfe22 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0xfe23 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0xfe24 },
-{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0xfe25 },
+{   0|  0|  0|C11|N11|CID|NFC|NKC|  0, 230, 0xfe26 },
 {   0|  0|  0|C11|N11|CID|NFC|NKC|  0,   0, 0xfe2f },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0xfe44 },
 {   0|  0|  0|  0|  0|CID|NFC|NKC|  0,   0, 0xfe46 },
@@ -1686,13 +1442,19 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0xfffd },
 {   0|  0|  0|  0|  0|CID|NFC|NKC|  0,   0, 0xffff },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x101fc },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x101fd },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x10a0c },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x10a0d },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x10a0e },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x10a0f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x10a37 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x10a38 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x10a39 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x10a3a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x10a3e },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x10a3f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x11045 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x11046 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x11099 },
 {   0|  0|  0|C11|  0|  0|NFC|NKC|  0,   0, 0x1109a },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1109b },
@@ -1703,53 +1465,36 @@ static const struct ucnrange ucnranges[] = {
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x110b9 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|CTX,   7, 0x110ba },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x110ff },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x11100 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x11101 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x11102 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x11126 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|CTX,   0, 0x11127 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1112d },
 {   0|  0|  0|C11|  0|  0|NFC|NKC|  0,   0, 0x1112f },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x11132 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x11133 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x11134 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x111bf },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x111c0 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x116b5 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   9, 0x116b6 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   7, 0x116b7 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d15d },
 {   0|  0|  0|C11|  0|  0|  0|  0|  0,   0, 0x1d164 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 216, 0x1d165 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 216, 0x1d166 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1d167 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1d168 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   1, 0x1d169 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d16c },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 226, 0x1d16d },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 216, 0x1d16e },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 216, 0x1d16f },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 216, 0x1d170 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 216, 0x1d171 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 216, 0x1d172 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d17a },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d17b },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d17c },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d17d },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d17e },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d17f },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d180 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d181 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d182 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d184 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d185 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d186 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d187 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d188 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d189 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d18a },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 220, 0x1d18b },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d1a9 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d1aa },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d1ab },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d1ac },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d1ad },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d1ba },
 {   0|  0|  0|C11|  0|  0|  0|  0|  0,   0, 0x1d1c0 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d241 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d242 },
-{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d243 },
+{   0|  0|  0|C11|  0|CID|NFC|NKC|  0, 230, 0x1d244 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d3ff },
 {   0|  0|  0|C11|  0|CID|NFC|  0|  0,   0, 0x1d454 },
 {   0|  0|  0|C11|  0|CID|NFC|NKC|  0,   0, 0x1d455 },


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-05 15:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-05 15:34 [gcc r12-2771] libcpp: Fix makeucnid bug with combining values [PR100977] Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).