Skip to content

Commit 5b98be4

Browse files
authored
[lib++][Format] Updates Unicode database. (#125712)
Updates the databease to the Unicode release 16.0.0. The algorithms of the Grapheme clustering rules have not changed.
1 parent d3e2459 commit 5b98be4

14 files changed

+2109
-1517
lines changed

libcxx/docs/ReleaseNotes/21.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ Improvements and New Features
4646
- The ``std::ranges::{copy, copy_n, copy_backward}`` algorithms have been optimized for ``std::vector<bool>::iterator``\s,
4747
resulting in a performance improvement of up to 2000x.
4848

49+
- Updated formatting library to Unicode 16.0.0.
4950

5051
Deprecations and Removals
5152
-------------------------

libcxx/include/__format/escaped_output_table.h

Lines changed: 53 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ namespace __escaped_output_table {
109109
/// - bits [14, 31] The lower bound code point of the range. The upper bound of
110110
/// the range is lower bound + size. Note the code expects code units the fit
111111
/// into 18 bits, instead of the 21 bits needed for the full Unicode range.
112-
_LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
112+
_LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[735] = {
113113
0x00000020 /* 00000000 - 00000020 [ 33] */,
114114
0x001fc021 /* 0000007f - 000000a0 [ 34] */,
115115
0x002b4000 /* 000000ad - 000000ad [ 1] */,
@@ -136,7 +136,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
136136
0x02170001 /* 0000085c - 0000085d [ 2] */,
137137
0x0217c000 /* 0000085f - 0000085f [ 1] */,
138138
0x021ac004 /* 0000086b - 0000086f [ 5] */,
139-
0x0223c008 /* 0000088f - 00000897 [ 9] */,
139+
0x0223c007 /* 0000088f - 00000896 [ 8] */,
140140
0x02388000 /* 000008e2 - 000008e2 [ 1] */,
141141
0x02610000 /* 00000984 - 00000984 [ 1] */,
142142
0x02634001 /* 0000098d - 0000098e [ 2] */,
@@ -331,12 +331,11 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
331331
0x06a68005 /* 00001a9a - 00001a9f [ 6] */,
332332
0x06ab8001 /* 00001aae - 00001aaf [ 2] */,
333333
0x06b3c030 /* 00001acf - 00001aff [ 49] */,
334-
0x06d34002 /* 00001b4d - 00001b4f [ 3] */,
335-
0x06dfc000 /* 00001b7f - 00001b7f [ 1] */,
334+
0x06d34000 /* 00001b4d - 00001b4d [ 1] */,
336335
0x06fd0007 /* 00001bf4 - 00001bfb [ 8] */,
337336
0x070e0002 /* 00001c38 - 00001c3a [ 3] */,
338337
0x07128002 /* 00001c4a - 00001c4c [ 3] */,
339-
0x07224006 /* 00001c89 - 00001c8f [ 7] */,
338+
0x0722c004 /* 00001c8b - 00001c8f [ 5] */,
340339
0x072ec001 /* 00001cbb - 00001cbc [ 2] */,
341340
0x07320007 /* 00001cc8 - 00001ccf [ 8] */,
342341
0x073ec004 /* 00001cfb - 00001cff [ 5] */,
@@ -364,7 +363,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
364363
0x0830400e /* 000020c1 - 000020cf [ 15] */,
365364
0x083c400e /* 000020f1 - 000020ff [ 15] */,
366365
0x08630003 /* 0000218c - 0000218f [ 4] */,
367-
0x0909c018 /* 00002427 - 0000243f [ 25] */,
366+
0x090a8015 /* 0000242a - 0000243f [ 22] */,
368367
0x0912c014 /* 0000244b - 0000245f [ 21] */,
369368
0x0add0001 /* 00002b74 - 00002b75 [ 2] */,
370369
0x0ae58000 /* 00002b96 - 00002b96 [ 1] */,
@@ -393,16 +392,16 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
393392
0x0c400004 /* 00003100 - 00003104 [ 5] */,
394393
0x0c4c0000 /* 00003130 - 00003130 [ 1] */,
395394
0x0c63c000 /* 0000318f - 0000318f [ 1] */,
396-
0x0c79000a /* 000031e4 - 000031ee [ 11] */,
395+
0x0c798008 /* 000031e6 - 000031ee [ 9] */,
397396
0x0c87c000 /* 0000321f - 0000321f [ 1] */,
398397
0x29234002 /* 0000a48d - 0000a48f [ 3] */,
399398
0x2931c008 /* 0000a4c7 - 0000a4cf [ 9] */,
400399
0x298b0013 /* 0000a62c - 0000a63f [ 20] */,
401400
0x29be0007 /* 0000a6f8 - 0000a6ff [ 8] */,
402-
0x29f2c004 /* 0000a7cb - 0000a7cf [ 5] */,
401+
0x29f38001 /* 0000a7ce - 0000a7cf [ 2] */,
403402
0x29f48000 /* 0000a7d2 - 0000a7d2 [ 1] */,
404403
0x29f50000 /* 0000a7d4 - 0000a7d4 [ 1] */,
405-
0x29f68017 /* 0000a7da - 0000a7f1 [ 24] */,
404+
0x29f74014 /* 0000a7dd - 0000a7f1 [ 21] */,
406405
0x2a0b4002 /* 0000a82d - 0000a82f [ 3] */,
407406
0x2a0e8005 /* 0000a83a - 0000a83f [ 6] */,
408407
0x2a1e0007 /* 0000a878 - 0000a87f [ 8] */,
@@ -491,7 +490,8 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
491490
0x41688000 /* 000105a2 - 000105a2 [ 1] */,
492491
0x416c8000 /* 000105b2 - 000105b2 [ 1] */,
493492
0x416e8000 /* 000105ba - 000105ba [ 1] */,
494-
0x416f4042 /* 000105bd - 000105ff [ 67] */,
493+
0x416f4002 /* 000105bd - 000105bf [ 3] */,
494+
0x417d000b /* 000105f4 - 000105ff [ 12] */,
495495
0x41cdc008 /* 00010737 - 0001073f [ 9] */,
496496
0x41d58009 /* 00010756 - 0001075f [ 10] */,
497497
0x41da0017 /* 00010768 - 0001077f [ 24] */,
@@ -534,11 +534,15 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
534534
0x432cc00c /* 00010cb3 - 00010cbf [ 13] */,
535535
0x433cc006 /* 00010cf3 - 00010cf9 [ 7] */,
536536
0x434a0007 /* 00010d28 - 00010d2f [ 8] */,
537-
0x434e8125 /* 00010d3a - 00010e5f [ 294] */,
537+
0x434e8005 /* 00010d3a - 00010d3f [ 6] */,
538+
0x43598002 /* 00010d66 - 00010d68 [ 3] */,
539+
0x43618007 /* 00010d86 - 00010d8d [ 8] */,
540+
0x436400cf /* 00010d90 - 00010e5f [ 208] */,
538541
0x439fc000 /* 00010e7f - 00010e7f [ 1] */,
539542
0x43aa8000 /* 00010eaa - 00010eaa [ 1] */,
540543
0x43ab8001 /* 00010eae - 00010eaf [ 2] */,
541-
0x43ac804a /* 00010eb2 - 00010efc [ 75] */,
544+
0x43ac800f /* 00010eb2 - 00010ec1 [ 16] */,
545+
0x43b14036 /* 00010ec5 - 00010efb [ 55] */,
542546
0x43ca0007 /* 00010f28 - 00010f2f [ 8] */,
543547
0x43d68015 /* 00010f5a - 00010f6f [ 22] */,
544548
0x43e28025 /* 00010f8a - 00010faf [ 38] */,
@@ -578,7 +582,18 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
578582
0x44d60004 /* 00011358 - 0001135c [ 5] */,
579583
0x44d90001 /* 00011364 - 00011365 [ 2] */,
580584
0x44db4002 /* 0001136d - 0001136f [ 3] */,
581-
0x44dd408a /* 00011375 - 000113ff [ 139] */,
585+
0x44dd400a /* 00011375 - 0001137f [ 11] */,
586+
0x44e28000 /* 0001138a - 0001138a [ 1] */,
587+
0x44e30001 /* 0001138c - 0001138d [ 2] */,
588+
0x44e3c000 /* 0001138f - 0001138f [ 1] */,
589+
0x44ed8000 /* 000113b6 - 000113b6 [ 1] */,
590+
0x44f04000 /* 000113c1 - 000113c1 [ 1] */,
591+
0x44f0c001 /* 000113c3 - 000113c4 [ 2] */,
592+
0x44f18000 /* 000113c6 - 000113c6 [ 1] */,
593+
0x44f2c000 /* 000113cb - 000113cb [ 1] */,
594+
0x44f58000 /* 000113d6 - 000113d6 [ 1] */,
595+
0x44f64007 /* 000113d9 - 000113e0 [ 8] */,
596+
0x44f8c01c /* 000113e3 - 000113ff [ 29] */,
582597
0x45170000 /* 0001145c - 0001145c [ 1] */,
583598
0x4518801d /* 00011462 - 0001147f [ 30] */,
584599
0x45320007 /* 000114c8 - 000114cf [ 8] */,
@@ -589,7 +604,8 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
589604
0x45968005 /* 0001165a - 0001165f [ 6] */,
590605
0x459b4012 /* 0001166d - 0001167f [ 19] */,
591606
0x45ae8005 /* 000116ba - 000116bf [ 6] */,
592-
0x45b28035 /* 000116ca - 000116ff [ 54] */,
607+
0x45b28005 /* 000116ca - 000116cf [ 6] */,
608+
0x45b9001b /* 000116e4 - 000116ff [ 28] */,
593609
0x45c6c001 /* 0001171b - 0001171c [ 2] */,
594610
0x45cb0003 /* 0001172c - 0001172f [ 4] */,
595611
0x45d1c0b8 /* 00011747 - 000117ff [ 185] */,
@@ -609,7 +625,9 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
609625
0x46920007 /* 00011a48 - 00011a4f [ 8] */,
610626
0x46a8c00c /* 00011aa3 - 00011aaf [ 13] */,
611627
0x46be4006 /* 00011af9 - 00011aff [ 7] */,
612-
0x46c280f5 /* 00011b0a - 00011bff [ 246] */,
628+
0x46c280b5 /* 00011b0a - 00011bbf [ 182] */,
629+
0x46f8800d /* 00011be2 - 00011bef [ 14] */,
630+
0x46fe8005 /* 00011bfa - 00011bff [ 6] */,
613631
0x47024000 /* 00011c09 - 00011c09 [ 1] */,
614632
0x470dc000 /* 00011c37 - 00011c37 [ 1] */,
615633
0x47118009 /* 00011c46 - 00011c4f [ 10] */,
@@ -633,7 +651,7 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
633651
0x47be4006 /* 00011ef9 - 00011eff [ 7] */,
634652
0x47c44000 /* 00011f11 - 00011f11 [ 1] */,
635653
0x47cec002 /* 00011f3b - 00011f3d [ 3] */,
636-
0x47d68055 /* 00011f5a - 00011faf [ 86] */,
654+
0x47d6c054 /* 00011f5b - 00011faf [ 85] */,
637655
0x47ec400e /* 00011fb1 - 00011fbf [ 15] */,
638656
0x47fc800c /* 00011ff2 - 00011ffe [ 13] */,
639657
0x48e68065 /* 0001239a - 000123ff [ 102] */,
@@ -642,8 +660,10 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
642660
0x49510a4b /* 00012544 - 00012f8f [ 2636] */,
643661
0x4bfcc00c /* 00012ff3 - 00012fff [ 13] */,
644662
0x4d0c000f /* 00013430 - 0001343f [ 16] */,
645-
0x4d158fa9 /* 00013456 - 000143ff [ 4010] */,
646-
0x5191e1b8 /* 00014647 - 000167ff [ 8633] */,
663+
0x4d158009 /* 00013456 - 0001345f [ 10] */,
664+
0x50fec004 /* 000143fb - 000143ff [ 5] */,
665+
0x5191dab8 /* 00014647 - 000160ff [ 6841] */,
666+
0x584e86c5 /* 0001613a - 000167ff [ 1734] */,
647667
0x5a8e4006 /* 00016a39 - 00016a3f [ 7] */,
648668
0x5a97c000 /* 00016a5f - 00016a5f [ 1] */,
649669
0x5a9a8003 /* 00016a6a - 00016a6d [ 4] */,
@@ -655,15 +675,16 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
655675
0x5ad68000 /* 00016b5a - 00016b5a [ 1] */,
656676
0x5ad88000 /* 00016b62 - 00016b62 [ 1] */,
657677
0x5ade0004 /* 00016b78 - 00016b7c [ 5] */,
658-
0x5ae402af /* 00016b90 - 00016e3f [ 688] */,
678+
0x5ae401af /* 00016b90 - 00016d3f [ 432] */,
679+
0x5b5e80c5 /* 00016d7a - 00016e3f [ 198] */,
659680
0x5ba6c064 /* 00016e9b - 00016eff [ 101] */,
660681
0x5bd2c003 /* 00016f4b - 00016f4e [ 4] */,
661682
0x5be20006 /* 00016f88 - 00016f8e [ 7] */,
662683
0x5be8003f /* 00016fa0 - 00016fdf [ 64] */,
663684
0x5bf9400a /* 00016fe5 - 00016fef [ 11] */,
664685
0x5bfc800d /* 00016ff2 - 00016fff [ 14] */,
665686
0x61fe0007 /* 000187f8 - 000187ff [ 8] */,
666-
0x63358029 /* 00018cd6 - 00018cff [ 42] */,
687+
0x63358028 /* 00018cd6 - 00018cfe [ 41] */,
667688
0x634262e6 /* 00018d09 - 0001afef [ 8935] */,
668689
0x6bfd0000 /* 0001aff4 - 0001aff4 [ 1] */,
669690
0x6bff0000 /* 0001affc - 0001affc [ 1] */,
@@ -678,7 +699,9 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
678699
0x6f1f4002 /* 0001bc7d - 0001bc7f [ 3] */,
679700
0x6f224006 /* 0001bc89 - 0001bc8f [ 7] */,
680701
0x6f268001 /* 0001bc9a - 0001bc9b [ 2] */,
681-
0x6f28125f /* 0001bca0 - 0001ceff [ 4704] */,
702+
0x6f280f5f /* 0001bca0 - 0001cbff [ 3936] */,
703+
0x733e8005 /* 0001ccfa - 0001ccff [ 6] */,
704+
0x73ad004b /* 0001ceb4 - 0001ceff [ 76] */,
682705
0x73cb8001 /* 0001cf2e - 0001cf2f [ 2] */,
683706
0x73d1c008 /* 0001cf47 - 0001cf4f [ 9] */,
684707
0x73f1003b /* 0001cfc4 - 0001cfff [ 60] */,
@@ -730,7 +753,9 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
730753
0x78abc010 /* 0001e2af - 0001e2bf [ 17] */,
731754
0x78be8004 /* 0001e2fa - 0001e2fe [ 5] */,
732755
0x78c001cf /* 0001e300 - 0001e4cf [ 464] */,
733-
0x793e82e5 /* 0001e4fa - 0001e7df [ 742] */,
756+
0x793e80d5 /* 0001e4fa - 0001e5cf [ 214] */,
757+
0x797ec003 /* 0001e5fb - 0001e5fe [ 4] */,
758+
0x798001df /* 0001e600 - 0001e7df [ 480] */,
734759
0x79f9c000 /* 0001e7e7 - 0001e7e7 [ 1] */,
735760
0x79fb0000 /* 0001e7ec - 0001e7ec [ 1] */,
736761
0x79fbc000 /* 0001e7ef - 0001e7ef [ 1] */,
@@ -800,18 +825,17 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
800825
0x7e168005 /* 0001f85a - 0001f85f [ 6] */,
801826
0x7e220007 /* 0001f888 - 0001f88f [ 8] */,
802827
0x7e2b8001 /* 0001f8ae - 0001f8af [ 2] */,
803-
0x7e2c804d /* 0001f8b2 - 0001f8ff [ 78] */,
828+
0x7e2f0003 /* 0001f8bc - 0001f8bf [ 4] */,
829+
0x7e30803d /* 0001f8c2 - 0001f8ff [ 62] */,
804830
0x7e95000b /* 0001fa54 - 0001fa5f [ 12] */,
805831
0x7e9b8001 /* 0001fa6e - 0001fa6f [ 2] */,
806832
0x7e9f4002 /* 0001fa7d - 0001fa7f [ 3] */,
807-
0x7ea24006 /* 0001fa89 - 0001fa8f [ 7] */,
808-
0x7eaf8000 /* 0001fabe - 0001fabe [ 1] */,
809-
0x7eb18007 /* 0001fac6 - 0001facd [ 8] */,
810-
0x7eb70003 /* 0001fadc - 0001fadf [ 4] */,
811-
0x7eba4006 /* 0001fae9 - 0001faef [ 7] */,
833+
0x7ea28004 /* 0001fa8a - 0001fa8e [ 5] */,
834+
0x7eb1c006 /* 0001fac7 - 0001facd [ 7] */,
835+
0x7eb74001 /* 0001fadd - 0001fade [ 2] */,
836+
0x7eba8005 /* 0001faea - 0001faef [ 6] */,
812837
0x7ebe4006 /* 0001faf9 - 0001faff [ 7] */,
813838
0x7ee4c000 /* 0001fb93 - 0001fb93 [ 1] */,
814-
0x7ef2c024 /* 0001fbcb - 0001fbef [ 37] */,
815839
0x7efe8405 /* 0001fbfa - 0001ffff [ 1030] */,
816840
0xa9b8001f /* 0002a6e0 - 0002a6ff [ 32] */,
817841
0xadce8005 /* 0002b73a - 0002b73f [ 6] */,

0 commit comments

Comments
 (0)