From e726627993b5e58183cf118b2d6df8dc28f8319b Mon Sep 17 00:00:00 2001 From: Fabian Boehm Date: Mon, 26 Sep 2022 17:17:17 +0200 Subject: [PATCH] Upgrade widechar_width to Unicode 15 --- src/widecharwidth/widechar_width.h | 119 ++++++++++++++++++----------- 1 file changed, 75 insertions(+), 44 deletions(-) diff --git a/src/widecharwidth/widechar_width.h b/src/widecharwidth/widechar_width.h index b1a1f43ef..e66e7a4e4 100644 --- a/src/widecharwidth/widechar_width.h +++ b/src/widecharwidth/widechar_width.h @@ -1,11 +1,21 @@ /** - * widechar_width.h, generated on 2022-02-14. + * widechar_width.h for Unicode 15.0.0 * See https://github.com/ridiculousfish/widecharwidth/ * * SHA1 file hashes: - * UnicodeData.txt: 8a5c26bfb27df8cfab23cf2c34c62d8d3075ae4d - * EastAsianWidth.txt: 8ec36ccac3852bf0c2f02e37c6151551cd14db72 - * emoji-data.txt: 3f0ec08c001c4bc6df0b07d01068fc73808bfb4c + * ( + * the hashes for generate.py and the template are git object hashes, + * use `git log --all --find-object=` in the widecharwidth repository + * to see which commit they correspond to, + * or run `git hash-object` on the file to compare. + * The other hashes are simple `sha1sum` style hashes. + * ) + * + * generate.py: 6d63502e0a28f40351524953141ea802a79dced9 + * template.js: 1249763c5b7c1e308aeb4ca64f1e15bce1fab9b3 + * UnicodeData.txt: 3e1900295af0978ad6be3153de4c97d55198ab4b + * EastAsianWidth.txt: 2637ce61d024cb25c768023fa4d7594b53474919 + * emoji-data.txt: 7754a51be6ebe38f906e4fe948720e0f3b78bfd7 */ #ifndef WIDECHAR_WIDTH_H @@ -68,7 +78,7 @@ static const struct widechar_range widechar_nonprint_table[] = { {0x0FFF9, 0x0FFFB}, {0x110BD, 0x110BD}, {0x110CD, 0x110CD}, - {0x13430, 0x13438}, + {0x13430, 0x1343F}, {0x1BCA0, 0x1BCA3}, {0x1D173, 0x1D17A}, {0xE0001, 0xE0001}, @@ -157,6 +167,7 @@ static const struct widechar_range widechar_combining_table[] = { {0x00CCA, 0x00CCD}, {0x00CD5, 0x00CD6}, {0x00CE2, 0x00CE3}, + {0x00CF3, 0x00CF3}, {0x00D00, 0x00D03}, {0x00D3B, 0x00D3C}, {0x00D3E, 0x00D44}, @@ -175,7 +186,7 @@ static const struct widechar_range widechar_combining_table[] = { {0x00E47, 0x00E4E}, {0x00EB1, 0x00EB1}, {0x00EB4, 0x00EBC}, - {0x00EC8, 0x00ECD}, + {0x00EC8, 0x00ECE}, {0x00F18, 0x00F19}, {0x00F35, 0x00F35}, {0x00F37, 0x00F37}, @@ -277,6 +288,7 @@ static const struct widechar_range widechar_combining_table[] = { {0x10AE5, 0x10AE6}, {0x10D24, 0x10D27}, {0x10EAB, 0x10EAC}, + {0x10EFD, 0x10EFF}, {0x10F46, 0x10F50}, {0x10F82, 0x10F85}, {0x11000, 0x11002}, @@ -296,6 +308,7 @@ static const struct widechar_range widechar_combining_table[] = { {0x111CE, 0x111CF}, {0x1122C, 0x11237}, {0x1123E, 0x1123E}, + {0x11241, 0x11241}, {0x112DF, 0x112EA}, {0x11300, 0x11303}, {0x1133B, 0x1133C}, @@ -343,6 +356,12 @@ static const struct widechar_range widechar_combining_table[] = { {0x11D90, 0x11D91}, {0x11D93, 0x11D97}, {0x11EF3, 0x11EF6}, + {0x11F00, 0x11F01}, + {0x11F03, 0x11F03}, + {0x11F34, 0x11F3A}, + {0x11F3E, 0x11F42}, + {0x13440, 0x13440}, + {0x13447, 0x13455}, {0x16AF0, 0x16AF4}, {0x16B30, 0x16B36}, {0x16F4F, 0x16F4F}, @@ -370,9 +389,11 @@ static const struct widechar_range widechar_combining_table[] = { {0x1E01B, 0x1E021}, {0x1E023, 0x1E024}, {0x1E026, 0x1E02A}, + {0x1E08F, 0x1E08F}, {0x1E130, 0x1E136}, {0x1E2AE, 0x1E2AE}, {0x1E2EC, 0x1E2EF}, + {0x1E4EC, 0x1E4EF}, {0x1E8D0, 0x1E8D6}, {0x1E944, 0x1E94A}, {0xE0100, 0xE01EF} @@ -421,7 +442,9 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x1AFF5, 0x1AFFB}, {0x1AFFD, 0x1AFFE}, {0x1B000, 0x1B122}, + {0x1B132, 0x1B132}, {0x1B150, 0x1B152}, + {0x1B155, 0x1B155}, {0x1B164, 0x1B167}, {0x1B170, 0x1B2FB}, {0x1F200, 0x1F200}, @@ -437,7 +460,7 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x1F5A4, 0x1F5A4}, {0x1F6D1, 0x1F6D2}, {0x1F6D5, 0x1F6D7}, - {0x1F6DD, 0x1F6DF}, + {0x1F6DC, 0x1F6DF}, {0x1F6F4, 0x1F6FC}, {0x1F7E0, 0x1F7EB}, {0x1F7F0, 0x1F7F0}, @@ -447,15 +470,13 @@ static const struct widechar_range widechar_doublewide_table[] = { {0x1F947, 0x1F97F}, {0x1F985, 0x1F9BF}, {0x1F9C1, 0x1F9FF}, - {0x1FA70, 0x1FA74}, - {0x1FA78, 0x1FA7C}, - {0x1FA80, 0x1FA86}, - {0x1FA90, 0x1FAAC}, - {0x1FAB0, 0x1FABA}, - {0x1FAC0, 0x1FAC5}, - {0x1FAD0, 0x1FAD9}, - {0x1FAE0, 0x1FAE7}, - {0x1FAF0, 0x1FAF6}, + {0x1FA70, 0x1FA7C}, + {0x1FA80, 0x1FA88}, + {0x1FA90, 0x1FABD}, + {0x1FABF, 0x1FAC5}, + {0x1FACE, 0x1FADB}, + {0x1FAE0, 0x1FAE8}, + {0x1FAF0, 0x1FAF8}, {0x20000, 0x2FFFD}, {0x30000, 0x3FFFD} }; @@ -766,7 +787,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x00CDF, 0x00CDF}, {0x00CE4, 0x00CE5}, {0x00CF0, 0x00CF0}, - {0x00CF3, 0x00CFF}, + {0x00CF4, 0x00CFF}, {0x00D0D, 0x00D0D}, {0x00D11, 0x00D11}, {0x00D45, 0x00D45}, @@ -796,7 +817,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x00EBE, 0x00EBF}, {0x00EC5, 0x00EC5}, {0x00EC7, 0x00EC7}, - {0x00ECE, 0x00ECF}, + {0x00ECF, 0x00ECF}, {0x00EDA, 0x00EDB}, {0x00EE0, 0x00EFF}, {0x00F48, 0x00F48}, @@ -1067,7 +1088,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x10E7F, 0x10E7F}, {0x10EAA, 0x10EAA}, {0x10EAE, 0x10EAF}, - {0x10EB2, 0x10EFF}, + {0x10EB2, 0x10EFC}, {0x10F28, 0x10F2F}, {0x10F5A, 0x10F6F}, {0x10F8A, 0x10FAF}, @@ -1085,7 +1106,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x111E0, 0x111E0}, {0x111F5, 0x111FF}, {0x11212, 0x11212}, - {0x1123F, 0x1127F}, + {0x11242, 0x1127F}, {0x11287, 0x11287}, {0x11289, 0x11289}, {0x1128E, 0x1128E}, @@ -1137,7 +1158,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x119E5, 0x119FF}, {0x11A48, 0x11A4F}, {0x11AA3, 0x11AAF}, - {0x11AF9, 0x11BFF}, + {0x11AF9, 0x11AFF}, + {0x11B0A, 0x11BFF}, {0x11C09, 0x11C09}, {0x11C37, 0x11C37}, {0x11C46, 0x11C4F}, @@ -1158,7 +1180,10 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x11D92, 0x11D92}, {0x11D99, 0x11D9F}, {0x11DAA, 0x11EDF}, - {0x11EF9, 0x11FAF}, + {0x11EF9, 0x11EFF}, + {0x11F11, 0x11F11}, + {0x11F3B, 0x11F3D}, + {0x11F5A, 0x11FAF}, {0x11FB1, 0x11FBF}, {0x11FF2, 0x11FFE}, {0x1239A, 0x123FF}, @@ -1166,8 +1191,7 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x12475, 0x1247F}, {0x12544, 0x12F8F}, {0x12FF3, 0x12FFF}, - {0x1342F, 0x1342F}, - {0x13439, 0x143FF}, + {0x13456, 0x143FF}, {0x14647, 0x167FF}, {0x16A39, 0x16A3F}, {0x16A5F, 0x16A5F}, @@ -1195,8 +1219,10 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1AFF4, 0x1AFF4}, {0x1AFFC, 0x1AFFC}, {0x1AFFF, 0x1AFFF}, - {0x1B123, 0x1B14F}, - {0x1B153, 0x1B163}, + {0x1B123, 0x1B131}, + {0x1B133, 0x1B14F}, + {0x1B153, 0x1B154}, + {0x1B156, 0x1B163}, {0x1B168, 0x1B16F}, {0x1B2FC, 0x1BBFF}, {0x1BC6B, 0x1BC6F}, @@ -1210,7 +1236,8 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1D0F6, 0x1D0FF}, {0x1D127, 0x1D128}, {0x1D1EB, 0x1D1FF}, - {0x1D246, 0x1D2DF}, + {0x1D246, 0x1D2BF}, + {0x1D2D4, 0x1D2DF}, {0x1D2F4, 0x1D2FF}, {0x1D357, 0x1D35F}, {0x1D379, 0x1D3FF}, @@ -1237,19 +1264,23 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1DA8C, 0x1DA9A}, {0x1DAA0, 0x1DAA0}, {0x1DAB0, 0x1DEFF}, - {0x1DF1F, 0x1DFFF}, + {0x1DF1F, 0x1DF24}, + {0x1DF2B, 0x1DFFF}, {0x1E007, 0x1E007}, {0x1E019, 0x1E01A}, {0x1E022, 0x1E022}, {0x1E025, 0x1E025}, - {0x1E02B, 0x1E0FF}, + {0x1E02B, 0x1E02F}, + {0x1E06E, 0x1E08E}, + {0x1E090, 0x1E0FF}, {0x1E12D, 0x1E12F}, {0x1E13E, 0x1E13F}, {0x1E14A, 0x1E14D}, {0x1E150, 0x1E28F}, {0x1E2AF, 0x1E2BF}, {0x1E2FA, 0x1E2FE}, - {0x1E300, 0x1E7DF}, + {0x1E300, 0x1E4CF}, + {0x1E4FA, 0x1E7DF}, {0x1E7E7, 0x1E7E7}, {0x1E7EC, 0x1E7EC}, {0x1E7EF, 0x1E7EF}, @@ -1307,11 +1338,11 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1F249, 0x1F24F}, {0x1F252, 0x1F25F}, {0x1F266, 0x1F2FF}, - {0x1F6D8, 0x1F6DC}, + {0x1F6D8, 0x1F6DB}, {0x1F6ED, 0x1F6EF}, {0x1F6FD, 0x1F6FF}, - {0x1F774, 0x1F77F}, - {0x1F7D9, 0x1F7DF}, + {0x1F777, 0x1F77A}, + {0x1F7DA, 0x1F7DF}, {0x1F7EC, 0x1F7EF}, {0x1F7F1, 0x1F7FF}, {0x1F80C, 0x1F80F}, @@ -1322,22 +1353,20 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x1F8B2, 0x1F8FF}, {0x1FA54, 0x1FA5F}, {0x1FA6E, 0x1FA6F}, - {0x1FA75, 0x1FA77}, {0x1FA7D, 0x1FA7F}, - {0x1FA87, 0x1FA8F}, - {0x1FAAD, 0x1FAAF}, - {0x1FABB, 0x1FABF}, - {0x1FAC6, 0x1FACF}, - {0x1FADA, 0x1FADF}, - {0x1FAE8, 0x1FAEF}, - {0x1FAF7, 0x1FAFF}, + {0x1FA89, 0x1FA8F}, + {0x1FABE, 0x1FABE}, + {0x1FAC6, 0x1FACD}, + {0x1FADC, 0x1FADF}, + {0x1FAE9, 0x1FAEF}, + {0x1FAF9, 0x1FAFF}, {0x1FB93, 0x1FB93}, {0x1FBCB, 0x1FBEF}, {0x1FBFA, 0x1FFFD}, {0x20001, 0x2A6DE}, {0x2A6E0, 0x2A6FF}, - {0x2A701, 0x2B737}, - {0x2B739, 0x2B73F}, + {0x2A701, 0x2B738}, + {0x2B73A, 0x2B73F}, {0x2B741, 0x2B81C}, {0x2B81E, 0x2B81F}, {0x2B821, 0x2CEA0}, @@ -1346,7 +1375,9 @@ static const struct widechar_range widechar_unassigned_table[] = { {0x2EBE1, 0x2F7FF}, {0x2FA1E, 0x2FFFD}, {0x30001, 0x31349}, - {0x3134B, 0x3FFFD}, + {0x3134B, 0x3134F}, + {0x31351, 0x323AE}, + {0x323B0, 0x3FFFD}, {0x40000, 0x4FFFD}, {0x50000, 0x5FFFD}, {0x60000, 0x6FFFD},