From 6d72a32d1d679ba9ecbc148c0a55b7d87d280899 Mon Sep 17 00:00:00 2001 From: Carter Li Date: Thu, 11 Sep 2025 14:54:25 +0800 Subject: [PATCH] 3rdparty: upgrade widecharwidth --- src/3rdparty/widecharwidth/repo.json | 2 +- src/3rdparty/widecharwidth/widechar_width_c.h | 128 ++++++++++-------- 2 files changed, 71 insertions(+), 59 deletions(-) diff --git a/src/3rdparty/widecharwidth/repo.json b/src/3rdparty/widecharwidth/repo.json index bc82a80a8..d87eb5f51 100644 --- a/src/3rdparty/widecharwidth/repo.json +++ b/src/3rdparty/widecharwidth/repo.json @@ -1,6 +1,6 @@ { "home": "https://github.com/ridiculousfish/widecharwidth", "license": "Public domain", - "version": "Unicode 16", + "version": "Unicode 17", "author": "ridiculousfish" } diff --git a/src/3rdparty/widecharwidth/widechar_width_c.h b/src/3rdparty/widecharwidth/widechar_width_c.h index 2e49e825e..f13e8973a 100644 --- a/src/3rdparty/widecharwidth/widechar_width_c.h +++ b/src/3rdparty/widecharwidth/widechar_width_c.h @@ -1,5 +1,5 @@ /** - * widechar_width_c.h for Unicode 16.0.0 + * widechar_width_c.h for Unicode 17.0.0 * See https://github.com/ridiculousfish/widecharwidth/ * * SHA1 file hashes: @@ -11,11 +11,11 @@ * The other hashes are simple `sha1sum` style hashes. * ) * - * generate.py: 2747bb9402d8eeeca8e566ff947f14308511ecb1 - * template.js: 18cc8767663f4e3f1e2c2d50a317a1eefc6260cc - * UnicodeData.txt: 91df83276154240bcedef82a09bde77aa182cf8d - * EastAsianWidth.txt: 0885c0fc1c21eb58954a3bfb785d78559b361d92 - * emoji-data.txt: 1df2f8329dd9f5c238674807de736f316c6b9d87 + * generate.py: b35da43f176cc0d5880c67356ebb064048c5bac4 + * template.js: 1985fb56796d6d9627f9c5290d5dee9f9364bcf4 + * UnicodeData.txt: 50dffef1b7d1f97b72e4c2adceb9b2245f0f34ba + * EastAsianWidth.txt: 2cadc5034b6206ad84b75898a1d4186bb38fc12b + * emoji-data.txt: 3d123e12f70f63e609c4281ce83dfdd9ac7443d2 */ #ifndef WIDECHAR_WIDTH_H @@ -224,7 +224,8 @@ static const struct widechar_range widechar_combining_table[] = { {0x01A55, 0x01A5E}, {0x01A60, 0x01A7C}, {0x01A7F, 0x01A7F}, - {0x01AB0, 0x01ACE}, + {0x01AB0, 0x01ADD}, + {0x01AE0, 0x01AEB}, {0x01B00, 0x01B04}, {0x01B34, 0x01B44}, {0x01B6B, 0x01B73}, @@ -290,7 +291,7 @@ static const struct widechar_range widechar_combining_table[] = { {0x10D24, 0x10D27}, {0x10D69, 0x10D6D}, {0x10EAB, 0x10EAC}, - {0x10EFC, 0x10EFF}, + {0x10EFA, 0x10EFF}, {0x10F46, 0x10F50}, {0x10F82, 0x10F85}, {0x11000, 0x11002}, @@ -352,6 +353,7 @@ static const struct widechar_range widechar_combining_table[] = { {0x11A47, 0x11A47}, {0x11A51, 0x11A5B}, {0x11A8A, 0x11A99}, + {0x11B60, 0x11B67}, {0x11C2F, 0x11C36}, {0x11C38, 0x11C3F}, {0x11C92, 0x11CA7}, @@ -406,6 +408,10 @@ static const struct widechar_range widechar_combining_table[] = { {0x1E2EC, 0x1E2EF}, {0x1E4EC, 0x1E4EF}, {0x1E5EE, 0x1E5EF}, + {0x1E6E3, 0x1E6E3}, + {0x1E6E6, 0x1E6E6}, + {0x1E6EE, 0x1E6EF}, + {0x1E6F5, 0x1E6F5}, {0x1E8D0, 0x1E8D6}, {0x1E944, 0x1E94A}, {0xE0100, 0xE01EF} @@ -446,10 +452,10 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x0FF01, 0x0FF60}, {0x0FFE0, 0x0FFE6}, {0x16FE0, 0x16FE4}, - {0x16FF0, 0x16FF1}, - {0x17000, 0x187F7}, - {0x18800, 0x18CD5}, - {0x18CFF, 0x18D08}, + {0x16FF0, 0x16FF6}, + {0x17000, 0x18CD5}, + {0x18CFF, 0x18D1E}, + {0x18D80, 0x18DF2}, {0x1AFF0, 0x1AFF3}, {0x1AFF5, 0x1AFFB}, {0x1AFFD, 0x1AFFE}, @@ -473,7 +479,7 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x1F57A, 0x1F57A}, {0x1F5A4, 0x1F5A4}, {0x1F6D1, 0x1F6D2}, - {0x1F6D5, 0x1F6D7}, + {0x1F6D5, 0x1F6D8}, {0x1F6DC, 0x1F6DF}, {0x1F6F4, 0x1F6FC}, {0x1F7E0, 0x1F7EB}, @@ -485,11 +491,12 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x1F985, 0x1F9BF}, {0x1F9C1, 0x1F9FF}, {0x1FA70, 0x1FA7C}, - {0x1FA80, 0x1FA89}, - {0x1FA8F, 0x1FAC6}, - {0x1FACE, 0x1FADC}, - {0x1FADF, 0x1FAE9}, - {0x1FAF0, 0x1FAF8}, + {0x1FA80, 0x1FA8A}, + {0x1FA8E, 0x1FAC6}, + {0x1FAC8, 0x1FAC8}, + {0x1FACD, 0x1FADC}, + {0x1FADF, 0x1FAEA}, + {0x1FAEF, 0x1FAF8}, {0x20000, 0x2FFFD}, {0x30000, 0x3FFFD} }; @@ -700,7 +707,6 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x0085C, 0x0085D}, {0x0085F, 0x0085F}, {0x0086B, 0x0086F}, - {0x0088F, 0x0088F}, {0x00892, 0x00896}, {0x00984, 0x00984}, {0x0098D, 0x0098E}, @@ -784,7 +790,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x00C49, 0x00C49}, {0x00C4E, 0x00C54}, {0x00C57, 0x00C57}, - {0x00C5B, 0x00C5C}, + {0x00C5B, 0x00C5B}, {0x00C5E, 0x00C5F}, {0x00C64, 0x00C65}, {0x00C70, 0x00C76}, @@ -796,7 +802,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x00CC5, 0x00CC5}, {0x00CC9, 0x00CC9}, {0x00CCE, 0x00CD4}, - {0x00CD7, 0x00CDC}, + {0x00CD7, 0x00CDB}, {0x00CDF, 0x00CDF}, {0x00CE4, 0x00CE5}, {0x00CF0, 0x00CF0}, @@ -892,7 +898,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x01A8A, 0x01A8F}, {0x01A9A, 0x01A9F}, {0x01AAE, 0x01AAF}, - {0x01ACF, 0x01AFF}, + {0x01ADE, 0x01ADF}, + {0x01AEC, 0x01AFF}, {0x01B4D, 0x01B4D}, {0x01BF4, 0x01BFB}, {0x01C38, 0x01C3A}, @@ -921,13 +928,12 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x02072, 0x02073}, {0x0208F, 0x0208F}, {0x0209D, 0x0209F}, - {0x020C1, 0x020CF}, + {0x020C2, 0x020CF}, {0x020F1, 0x020FF}, {0x0218C, 0x0218F}, {0x0242A, 0x0243F}, {0x0244B, 0x0245F}, {0x02B74, 0x02B75}, - {0x02B96, 0x02B96}, {0x02CF4, 0x02CF8}, {0x02D26, 0x02D26}, {0x02D28, 0x02D2C}, @@ -960,10 +966,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x0A4C7, 0x0A4CF}, {0x0A62C, 0x0A63F}, {0x0A6F8, 0x0A6FF}, - {0x0A7CE, 0x0A7CF}, - {0x0A7D2, 0x0A7D2}, - {0x0A7D4, 0x0A7D4}, - {0x0A7DD, 0x0A7F1}, + {0x0A7DD, 0x0A7F0}, {0x0A82D, 0x0A82F}, {0x0A83A, 0x0A83F}, {0x0A878, 0x0A87F}, @@ -1000,9 +1003,6 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x0FB3F, 0x0FB3F}, {0x0FB42, 0x0FB42}, {0x0FB45, 0x0FB45}, - {0x0FBC3, 0x0FBD2}, - {0x0FD90, 0x0FD91}, - {0x0FDC8, 0x0FDCE}, {0x0FE1A, 0x0FE1F}, {0x0FE53, 0x0FE53}, {0x0FE67, 0x0FE67}, @@ -1072,7 +1072,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x108F6, 0x108FA}, {0x1091C, 0x1091E}, {0x1093A, 0x1093E}, - {0x10940, 0x1097F}, + {0x1095A, 0x1097F}, {0x109B8, 0x109BB}, {0x109D0, 0x109D1}, {0x10A04, 0x10A04}, @@ -1104,7 +1104,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x10EAA, 0x10EAA}, {0x10EAE, 0x10EAF}, {0x10EB2, 0x10EC1}, - {0x10EC5, 0x10EFB}, + {0x10EC8, 0x10ECF}, + {0x10ED9, 0x10EF9}, {0x10F28, 0x10F2F}, {0x10F5A, 0x10F6F}, {0x10F8A, 0x10FAF}, @@ -1187,7 +1188,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x11A48, 0x11A4F}, {0x11AA3, 0x11AAF}, {0x11AF9, 0x11AFF}, - {0x11B0A, 0x11BBF}, + {0x11B0A, 0x11B5F}, + {0x11B68, 0x11BBF}, {0x11BE2, 0x11BEF}, {0x11BFA, 0x11BFF}, {0x11C09, 0x11C09}, @@ -1209,7 +1211,9 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x11D8F, 0x11D8F}, {0x11D92, 0x11D92}, {0x11D99, 0x11D9F}, - {0x11DAA, 0x11EDF}, + {0x11DAA, 0x11DAF}, + {0x11DDC, 0x11DDF}, + {0x11DEA, 0x11EDF}, {0x11EF9, 0x11EFF}, {0x11F11, 0x11F11}, {0x11F3B, 0x11F3D}, @@ -1238,17 +1242,19 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x16B78, 0x16B7C}, {0x16B90, 0x16D3F}, {0x16D7A, 0x16E3F}, - {0x16E9B, 0x16EFF}, + {0x16E9B, 0x16E9F}, + {0x16EB9, 0x16EBA}, + {0x16ED4, 0x16EFF}, {0x16F4B, 0x16F4E}, {0x16F88, 0x16F8E}, {0x16FA0, 0x16FDF}, {0x16FE5, 0x16FEF}, - {0x16FF2, 0x16FFF}, - {0x17001, 0x187F6}, - {0x187F8, 0x187FF}, + {0x16FF7, 0x16FFF}, + {0x17001, 0x187FE}, {0x18CD6, 0x18CFE}, - {0x18D01, 0x18D07}, - {0x18D09, 0x1AFEF}, + {0x18D01, 0x18D1D}, + {0x18D1F, 0x18D7F}, + {0x18DF3, 0x1AFEF}, {0x1AFF4, 0x1AFF4}, {0x1AFFC, 0x1AFFC}, {0x1AFFF, 0x1AFFF}, @@ -1263,8 +1269,10 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1BC89, 0x1BC8F}, {0x1BC9A, 0x1BC9B}, {0x1BCA4, 0x1CBFF}, - {0x1CCFA, 0x1CCFF}, - {0x1CEB4, 0x1CEFF}, + {0x1CCFD, 0x1CCFF}, + {0x1CEB4, 0x1CEB9}, + {0x1CED1, 0x1CEDF}, + {0x1CEF1, 0x1CEFF}, {0x1CF2E, 0x1CF2F}, {0x1CF47, 0x1CF4F}, {0x1CFC4, 0x1CFFF}, @@ -1317,7 +1325,10 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1E300, 0x1E4CF}, {0x1E4FA, 0x1E5CF}, {0x1E5FB, 0x1E5FE}, - {0x1E600, 0x1E7DF}, + {0x1E600, 0x1E6BF}, + {0x1E6DF, 0x1E6DF}, + {0x1E6F6, 0x1E6FD}, + {0x1E700, 0x1E7DF}, {0x1E7E7, 0x1E7E7}, {0x1E7EC, 0x1E7EC}, {0x1E7EF, 0x1E7EF}, @@ -1375,10 +1386,9 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1F249, 0x1F24F}, {0x1F252, 0x1F25F}, {0x1F266, 0x1F2FF}, - {0x1F6D8, 0x1F6DB}, + {0x1F6D9, 0x1F6DB}, {0x1F6ED, 0x1F6EF}, {0x1F6FD, 0x1F6FF}, - {0x1F777, 0x1F77A}, {0x1F7DA, 0x1F7DF}, {0x1F7EC, 0x1F7EF}, {0x1F7F1, 0x1F7FF}, @@ -1388,25 +1398,26 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1F888, 0x1F88F}, {0x1F8AE, 0x1F8AF}, {0x1F8BC, 0x1F8BF}, - {0x1F8C2, 0x1F8FF}, - {0x1FA54, 0x1FA5F}, + {0x1F8C2, 0x1F8CF}, + {0x1F8D9, 0x1F8FF}, + {0x1FA58, 0x1FA5F}, {0x1FA6E, 0x1FA6F}, {0x1FA7D, 0x1FA7F}, - {0x1FA8A, 0x1FA8E}, - {0x1FAC7, 0x1FACD}, + {0x1FA8B, 0x1FA8D}, + {0x1FAC7, 0x1FAC7}, + {0x1FAC9, 0x1FACC}, {0x1FADD, 0x1FADE}, - {0x1FAEA, 0x1FAEF}, + {0x1FAEB, 0x1FAEE}, {0x1FAF9, 0x1FAFF}, {0x1FB93, 0x1FB93}, - {0x1FBFA, 0x1FFFD}, + {0x1FBFB, 0x1FFFD}, {0x20001, 0x2A6DE}, {0x2A6E0, 0x2A6FF}, - {0x2A701, 0x2B738}, - {0x2B73A, 0x2B73F}, + {0x2A701, 0x2B73E}, {0x2B741, 0x2B81C}, {0x2B81E, 0x2B81F}, - {0x2B821, 0x2CEA0}, - {0x2CEA2, 0x2CEAF}, + {0x2B821, 0x2CEAC}, + {0x2CEAE, 0x2CEAF}, {0x2CEB1, 0x2EBDF}, {0x2EBE1, 0x2EBEF}, {0x2EBF1, 0x2EE5C}, @@ -1415,7 +1426,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x30001, 0x31349}, {0x3134B, 0x3134F}, {0x31351, 0x323AE}, - {0x323B0, 0x3FFFD}, + {0x323B1, 0x33478}, + {0x3347A, 0x3FFFD}, {0x40000, 0x4FFFD}, {0x50000, 0x5FFFD}, {0x60000, 0x6FFFD}, @@ -1527,7 +1539,7 @@ static const struct widechar_range widechar_widened_table[] = { static inline bool widechar_in_table(const struct widechar_range* arr, size_t len, uint32_t c) { size_t lo=0; - size_t hi=(size_t)len; + size_t hi=len; if(c < arr[0].lo) return(0); if(c > arr[len-1].hi) return(0);