3rdparty: upgrade widecharwidth

This commit is contained in:
Carter Li
2025-09-11 14:54:25 +08:00
parent 45be29bad3
commit 6d72a32d1d
2 changed files with 71 additions and 59 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"home": "https://github.com/ridiculousfish/widecharwidth",
"license": "Public domain",
"version": "Unicode 16",
"version": "Unicode 17",
"author": "ridiculousfish"
}
+70 -58
View File
@@ -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);