From 0dfcf7784c7128153f17a597d59815c59378b6e5 Mon Sep 17 00:00:00 2001 From: mudlet-machine-account <39947211+mudlet-machine-account@users.noreply.github.com> Date: Wed, 2 Oct 2024 19:33:43 +0200 Subject: [PATCH] Infrastructure: Update widechar_width.h to latest upstream (#7449) #### Brief overview of PR changes/additions :crown: An automated PR to update the built-in `src/widechar_width.h` to its latest version in upstream. We don't include it as a submodule as it's just one file. #### Motivation for adding to Mudlet Better emoji and symbol support! This file helps us tell if a particular character is 0, 1, or 2 widths wide so we can show it correctly in the display. #### Other info (issues closed, discussion etc) _update triggered by refs/heads/development c084678bed001a8bae93714f78c53b1e4ed9205a_ Co-authored-by: mudlet-machine-account --- src/widechar_width.h | 135 +++++++++++++++++++++++++++---------------- 1 file changed, 86 insertions(+), 49 deletions(-) diff --git a/src/widechar_width.h b/src/widechar_width.h index 5f9416ba8a2..92e63e91347 100644 --- a/src/widechar_width.h +++ b/src/widechar_width.h @@ -1,5 +1,5 @@ /** - * widechar_width.h for Unicode 15.0.0 + * widechar_width.h for Unicode 16.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: 1d24de5a7caf6e8cc4e5a688ea83db972efe4538 + * generate.py: 2747bb9402d8eeeca8e566ff947f14308511ecb1 * template.js: 1249763c5b7c1e308aeb4ca64f1e15bce1fab9b3 - * UnicodeData.txt: 3e1900295af0978ad6be3153de4c97d55198ab4b - * EastAsianWidth.txt: 2637ce61d024cb25c768023fa4d7594b53474919 - * emoji-data.txt: 7754a51be6ebe38f906e4fe948720e0f3b78bfd7 + * UnicodeData.txt: 91df83276154240bcedef82a09bde77aa182cf8d + * EastAsianWidth.txt: 0885c0fc1c21eb58954a3bfb785d78559b361d92 + * emoji-data.txt: 1df2f8329dd9f5c238674807de736f316c6b9d87 */ #ifndef WIDECHAR_WIDTH_H @@ -111,7 +111,7 @@ static const struct widechar_range widechar_combining_table[] = { {0x00825, 0x00827}, {0x00829, 0x0082D}, {0x00859, 0x0085B}, - {0x00898, 0x0089F}, + {0x00897, 0x0089F}, {0x008CA, 0x008E1}, {0x008E3, 0x00903}, {0x0093A, 0x0093C}, @@ -287,8 +287,9 @@ static const struct widechar_range widechar_combining_table[] = { {0x10A3F, 0x10A3F}, {0x10AE5, 0x10AE6}, {0x10D24, 0x10D27}, + {0x10D69, 0x10D6D}, {0x10EAB, 0x10EAC}, - {0x10EFD, 0x10EFF}, + {0x10EFC, 0x10EFF}, {0x10F46, 0x10F50}, {0x10F82, 0x10F85}, {0x11000, 0x11002}, @@ -319,6 +320,13 @@ static const struct widechar_range widechar_combining_table[] = { {0x11362, 0x11363}, {0x11366, 0x1136C}, {0x11370, 0x11374}, + {0x113B8, 0x113C0}, + {0x113C2, 0x113C2}, + {0x113C5, 0x113C5}, + {0x113C7, 0x113CA}, + {0x113CC, 0x113D0}, + {0x113D2, 0x113D2}, + {0x113E1, 0x113E2}, {0x11435, 0x11446}, {0x1145E, 0x1145E}, {0x114B0, 0x114C3}, @@ -360,8 +368,10 @@ static const struct widechar_range widechar_combining_table[] = { {0x11F03, 0x11F03}, {0x11F34, 0x11F3A}, {0x11F3E, 0x11F42}, + {0x11F5A, 0x11F5A}, {0x13440, 0x13440}, {0x13447, 0x13455}, + {0x1611E, 0x1612F}, {0x16AF0, 0x16AF4}, {0x16B30, 0x16B36}, {0x16F4F, 0x16F4F}, @@ -394,6 +404,7 @@ static const struct widechar_range widechar_combining_table[] = { {0x1E2AE, 0x1E2AE}, {0x1E2EC, 0x1E2EF}, {0x1E4EC, 0x1E4EF}, + {0x1E5EE, 0x1E5EF}, {0x1E8D0, 0x1E8D6}, {0x1E944, 0x1E94A}, {0xE0100, 0xE01EF} @@ -409,20 +420,20 @@ static const struct widechar_range widechar_combiningletters_table[] = { static const struct widechar_range widechar_doublewide_table[] = { {0x01100, 0x0115F}, {0x02329, 0x0232A}, + {0x02630, 0x02637}, + {0x0268A, 0x0268F}, {0x02E80, 0x02E99}, {0x02E9B, 0x02EF3}, {0x02F00, 0x02FD5}, - {0x02FF0, 0x02FFB}, - {0x03000, 0x0303E}, + {0x02FF0, 0x0303E}, {0x03041, 0x03096}, {0x03099, 0x030FF}, {0x03105, 0x0312F}, {0x03131, 0x0318E}, - {0x03190, 0x031E3}, - {0x031F0, 0x0321E}, + {0x03190, 0x031E5}, + {0x031EF, 0x0321E}, {0x03220, 0x03247}, - {0x03250, 0x04DBF}, - {0x04E00, 0x0A48C}, + {0x03250, 0x0A48C}, {0x0A490, 0x0A4C6}, {0x0A960, 0x0A97C}, {0x0AC00, 0x0D7A3}, @@ -437,7 +448,7 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x16FF0, 0x16FF1}, {0x17000, 0x187F7}, {0x18800, 0x18CD5}, - {0x18D00, 0x18D08}, + {0x18CFF, 0x18D08}, {0x1AFF0, 0x1AFF3}, {0x1AFF5, 0x1AFFB}, {0x1AFFD, 0x1AFFE}, @@ -447,6 +458,8 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x1B155, 0x1B155}, {0x1B164, 0x1B167}, {0x1B170, 0x1B2FB}, + {0x1D300, 0x1D356}, + {0x1D360, 0x1D376}, {0x1F200, 0x1F200}, {0x1F202, 0x1F202}, {0x1F210, 0x1F219}, @@ -471,11 +484,10 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x1F985, 0x1F9BF}, {0x1F9C1, 0x1F9FF}, {0x1FA70, 0x1FA7C}, - {0x1FA80, 0x1FA88}, - {0x1FA90, 0x1FABD}, - {0x1FABF, 0x1FAC5}, - {0x1FACE, 0x1FADB}, - {0x1FAE0, 0x1FAE8}, + {0x1FA80, 0x1FA89}, + {0x1FA8F, 0x1FAC6}, + {0x1FACE, 0x1FADC}, + {0x1FADF, 0x1FAE9}, {0x1FAF0, 0x1FAF8}, {0x20000, 0x2FFFD}, {0x30000, 0x3FFFD} @@ -688,7 +700,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x0085F, 0x0085F}, {0x0086B, 0x0086F}, {0x0088F, 0x0088F}, - {0x00892, 0x00897}, + {0x00892, 0x00896}, {0x00984, 0x00984}, {0x0098D, 0x0098E}, {0x00991, 0x00992}, @@ -880,12 +892,11 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x01A9A, 0x01A9F}, {0x01AAE, 0x01AAF}, {0x01ACF, 0x01AFF}, - {0x01B4D, 0x01B4F}, - {0x01B7F, 0x01B7F}, + {0x01B4D, 0x01B4D}, {0x01BF4, 0x01BFB}, {0x01C38, 0x01C3A}, {0x01C4A, 0x01C4C}, - {0x01C89, 0x01C8F}, + {0x01C8B, 0x01C8F}, {0x01CBB, 0x01CBC}, {0x01CC8, 0x01CCF}, {0x01CFB, 0x01CFF}, @@ -912,7 +923,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x020C1, 0x020CF}, {0x020F1, 0x020FF}, {0x0218C, 0x0218F}, - {0x02427, 0x0243F}, + {0x0242A, 0x0243F}, {0x0244B, 0x0245F}, {0x02B74, 0x02B75}, {0x02B96, 0x02B96}, @@ -935,13 +946,12 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x02E9A, 0x02E9A}, {0x02EF4, 0x02EFF}, {0x02FD6, 0x02FEF}, - {0x02FFC, 0x02FFF}, {0x03040, 0x03040}, {0x03097, 0x03098}, {0x03100, 0x03104}, {0x03130, 0x03130}, {0x0318F, 0x0318F}, - {0x031E4, 0x031EF}, + {0x031E6, 0x031EE}, {0x0321F, 0x0321F}, {0x03401, 0x04DBE}, {0x04E01, 0x09FFE}, @@ -949,10 +959,10 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x0A4C7, 0x0A4CF}, {0x0A62C, 0x0A63F}, {0x0A6F8, 0x0A6FF}, - {0x0A7CB, 0x0A7CF}, + {0x0A7CE, 0x0A7CF}, {0x0A7D2, 0x0A7D2}, {0x0A7D4, 0x0A7D4}, - {0x0A7DA, 0x0A7F1}, + {0x0A7DD, 0x0A7F1}, {0x0A82D, 0x0A82F}, {0x0A83A, 0x0A83F}, {0x0A878, 0x0A87F}, @@ -1041,7 +1051,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x105A2, 0x105A2}, {0x105B2, 0x105B2}, {0x105BA, 0x105BA}, - {0x105BD, 0x105FF}, + {0x105BD, 0x105BF}, + {0x105F4, 0x105FF}, {0x10737, 0x1073F}, {0x10756, 0x1075F}, {0x10768, 0x1077F}, @@ -1084,11 +1095,15 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x10CB3, 0x10CBF}, {0x10CF3, 0x10CF9}, {0x10D28, 0x10D2F}, - {0x10D3A, 0x10E5F}, + {0x10D3A, 0x10D3F}, + {0x10D66, 0x10D68}, + {0x10D86, 0x10D8D}, + {0x10D90, 0x10E5F}, {0x10E7F, 0x10E7F}, {0x10EAA, 0x10EAA}, {0x10EAE, 0x10EAF}, - {0x10EB2, 0x10EFC}, + {0x10EB2, 0x10EC1}, + {0x10EC5, 0x10EFB}, {0x10F28, 0x10F2F}, {0x10F5A, 0x10F6F}, {0x10F8A, 0x10FAF}, @@ -1128,7 +1143,18 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x11358, 0x1135C}, {0x11364, 0x11365}, {0x1136D, 0x1136F}, - {0x11375, 0x113FF}, + {0x11375, 0x1137F}, + {0x1138A, 0x1138A}, + {0x1138C, 0x1138D}, + {0x1138F, 0x1138F}, + {0x113B6, 0x113B6}, + {0x113C1, 0x113C1}, + {0x113C3, 0x113C4}, + {0x113C6, 0x113C6}, + {0x113CB, 0x113CB}, + {0x113D6, 0x113D6}, + {0x113D9, 0x113E0}, + {0x113E3, 0x113FF}, {0x1145C, 0x1145C}, {0x11462, 0x1147F}, {0x114C8, 0x114CF}, @@ -1139,7 +1165,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1165A, 0x1165F}, {0x1166D, 0x1167F}, {0x116BA, 0x116BF}, - {0x116CA, 0x116FF}, + {0x116CA, 0x116CF}, + {0x116E4, 0x116FF}, {0x1171B, 0x1171C}, {0x1172C, 0x1172F}, {0x11747, 0x117FF}, @@ -1159,7 +1186,9 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x11A48, 0x11A4F}, {0x11AA3, 0x11AAF}, {0x11AF9, 0x11AFF}, - {0x11B0A, 0x11BFF}, + {0x11B0A, 0x11BBF}, + {0x11BE2, 0x11BEF}, + {0x11BFA, 0x11BFF}, {0x11C09, 0x11C09}, {0x11C37, 0x11C37}, {0x11C46, 0x11C4F}, @@ -1183,7 +1212,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x11EF9, 0x11EFF}, {0x11F11, 0x11F11}, {0x11F3B, 0x11F3D}, - {0x11F5A, 0x11FAF}, + {0x11F5B, 0x11FAF}, {0x11FB1, 0x11FBF}, {0x11FF2, 0x11FFE}, {0x1239A, 0x123FF}, @@ -1191,8 +1220,10 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x12475, 0x1247F}, {0x12544, 0x12F8F}, {0x12FF3, 0x12FFF}, - {0x13456, 0x143FF}, - {0x14647, 0x167FF}, + {0x13456, 0x1345F}, + {0x143FB, 0x143FF}, + {0x14647, 0x160FF}, + {0x1613A, 0x167FF}, {0x16A39, 0x16A3F}, {0x16A5F, 0x16A5F}, {0x16A6A, 0x16A6D}, @@ -1204,7 +1235,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x16B5A, 0x16B5A}, {0x16B62, 0x16B62}, {0x16B78, 0x16B7C}, - {0x16B90, 0x16E3F}, + {0x16B90, 0x16D3F}, + {0x16D7A, 0x16E3F}, {0x16E9B, 0x16EFF}, {0x16F4B, 0x16F4E}, {0x16F88, 0x16F8E}, @@ -1213,7 +1245,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x16FF2, 0x16FFF}, {0x17001, 0x187F6}, {0x187F8, 0x187FF}, - {0x18CD6, 0x18CFF}, + {0x18CD6, 0x18CFE}, {0x18D01, 0x18D07}, {0x18D09, 0x1AFEF}, {0x1AFF4, 0x1AFF4}, @@ -1229,7 +1261,9 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1BC7D, 0x1BC7F}, {0x1BC89, 0x1BC8F}, {0x1BC9A, 0x1BC9B}, - {0x1BCA4, 0x1CEFF}, + {0x1BCA4, 0x1CBFF}, + {0x1CCFA, 0x1CCFF}, + {0x1CEB4, 0x1CEFF}, {0x1CF2E, 0x1CF2F}, {0x1CF47, 0x1CF4F}, {0x1CFC4, 0x1CFFF}, @@ -1280,7 +1314,9 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1E2AF, 0x1E2BF}, {0x1E2FA, 0x1E2FE}, {0x1E300, 0x1E4CF}, - {0x1E4FA, 0x1E7DF}, + {0x1E4FA, 0x1E5CF}, + {0x1E5FB, 0x1E5FE}, + {0x1E600, 0x1E7DF}, {0x1E7E7, 0x1E7E7}, {0x1E7EC, 0x1E7EC}, {0x1E7EF, 0x1E7EF}, @@ -1350,18 +1386,17 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1F85A, 0x1F85F}, {0x1F888, 0x1F88F}, {0x1F8AE, 0x1F8AF}, - {0x1F8B2, 0x1F8FF}, + {0x1F8BC, 0x1F8BF}, + {0x1F8C2, 0x1F8FF}, {0x1FA54, 0x1FA5F}, {0x1FA6E, 0x1FA6F}, {0x1FA7D, 0x1FA7F}, - {0x1FA89, 0x1FA8F}, - {0x1FABE, 0x1FABE}, - {0x1FAC6, 0x1FACD}, - {0x1FADC, 0x1FADF}, - {0x1FAE9, 0x1FAEF}, + {0x1FA8A, 0x1FA8E}, + {0x1FAC7, 0x1FACD}, + {0x1FADD, 0x1FADE}, + {0x1FAEA, 0x1FAEF}, {0x1FAF9, 0x1FAFF}, {0x1FB93, 0x1FB93}, - {0x1FBCB, 0x1FBEF}, {0x1FBFA, 0x1FFFD}, {0x20001, 0x2A6DE}, {0x2A6E0, 0x2A6FF}, @@ -1372,7 +1407,9 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x2B821, 0x2CEA0}, {0x2CEA2, 0x2CEAF}, {0x2CEB1, 0x2EBDF}, - {0x2EBE1, 0x2F7FF}, + {0x2EBE1, 0x2EBEF}, + {0x2EBF1, 0x2EE5C}, + {0x2EE5E, 0x2F7FF}, {0x2FA1E, 0x2FFFD}, {0x30001, 0x31349}, {0x3134B, 0x3134F},