11/* *
2- * widechar_width.h for Unicode 15 .0.0
2+ * widechar_width.h for Unicode 16 .0.0
33 * See https://github.com/ridiculousfish/widecharwidth/
44 *
55 * SHA1 file hashes:
1111 * The other hashes are simple `sha1sum` style hashes.
1212 * )
1313 *
14- * generate.py: 1d24de5a7caf6e8cc4e5a688ea83db972efe4538
14+ * generate.py: 2747bb9402d8eeeca8e566ff947f14308511ecb1
1515 * template.js: 1249763c5b7c1e308aeb4ca64f1e15bce1fab9b3
16- * UnicodeData.txt: 3e1900295af0978ad6be3153de4c97d55198ab4b
17- * EastAsianWidth.txt: 2637ce61d024cb25c768023fa4d7594b53474919
18- * emoji-data.txt: 7754a51be6ebe38f906e4fe948720e0f3b78bfd7
16+ * UnicodeData.txt: 91df83276154240bcedef82a09bde77aa182cf8d
17+ * EastAsianWidth.txt: 0885c0fc1c21eb58954a3bfb785d78559b361d92
18+ * emoji-data.txt: 1df2f8329dd9f5c238674807de736f316c6b9d87
1919 */
2020
2121#ifndef WIDECHAR_WIDTH_H
@@ -111,7 +111,7 @@ static const struct widechar_range widechar_combining_table[] = {
111111 {0x00825 , 0x00827 },
112112 {0x00829 , 0x0082D },
113113 {0x00859 , 0x0085B },
114- {0x00898 , 0x0089F },
114+ {0x00897 , 0x0089F },
115115 {0x008CA , 0x008E1 },
116116 {0x008E3 , 0x00903 },
117117 {0x0093A , 0x0093C },
@@ -287,8 +287,9 @@ static const struct widechar_range widechar_combining_table[] = {
287287 {0x10A3F , 0x10A3F },
288288 {0x10AE5 , 0x10AE6 },
289289 {0x10D24 , 0x10D27 },
290+ {0x10D69 , 0x10D6D },
290291 {0x10EAB , 0x10EAC },
291- {0x10EFD , 0x10EFF },
292+ {0x10EFC , 0x10EFF },
292293 {0x10F46 , 0x10F50 },
293294 {0x10F82 , 0x10F85 },
294295 {0x11000 , 0x11002 },
@@ -319,6 +320,13 @@ static const struct widechar_range widechar_combining_table[] = {
319320 {0x11362 , 0x11363 },
320321 {0x11366 , 0x1136C },
321322 {0x11370 , 0x11374 },
323+ {0x113B8 , 0x113C0 },
324+ {0x113C2 , 0x113C2 },
325+ {0x113C5 , 0x113C5 },
326+ {0x113C7 , 0x113CA },
327+ {0x113CC , 0x113D0 },
328+ {0x113D2 , 0x113D2 },
329+ {0x113E1 , 0x113E2 },
322330 {0x11435 , 0x11446 },
323331 {0x1145E , 0x1145E },
324332 {0x114B0 , 0x114C3 },
@@ -360,8 +368,10 @@ static const struct widechar_range widechar_combining_table[] = {
360368 {0x11F03 , 0x11F03 },
361369 {0x11F34 , 0x11F3A },
362370 {0x11F3E , 0x11F42 },
371+ {0x11F5A , 0x11F5A },
363372 {0x13440 , 0x13440 },
364373 {0x13447 , 0x13455 },
374+ {0x1611E , 0x1612F },
365375 {0x16AF0 , 0x16AF4 },
366376 {0x16B30 , 0x16B36 },
367377 {0x16F4F , 0x16F4F },
@@ -394,6 +404,7 @@ static const struct widechar_range widechar_combining_table[] = {
394404 {0x1E2AE , 0x1E2AE },
395405 {0x1E2EC , 0x1E2EF },
396406 {0x1E4EC , 0x1E4EF },
407+ {0x1E5EE , 0x1E5EF },
397408 {0x1E8D0 , 0x1E8D6 },
398409 {0x1E944 , 0x1E94A },
399410 {0xE0100 , 0xE01EF }
@@ -409,20 +420,20 @@ static const struct widechar_range widechar_combiningletters_table[] = {
409420static const struct widechar_range widechar_doublewide_table[] = {
410421 {0x01100 , 0x0115F },
411422 {0x02329 , 0x0232A },
423+ {0x02630 , 0x02637 },
424+ {0x0268A , 0x0268F },
412425 {0x02E80 , 0x02E99 },
413426 {0x02E9B , 0x02EF3 },
414427 {0x02F00 , 0x02FD5 },
415- {0x02FF0 , 0x02FFB },
416- {0x03000 , 0x0303E },
428+ {0x02FF0 , 0x0303E },
417429 {0x03041 , 0x03096 },
418430 {0x03099 , 0x030FF },
419431 {0x03105 , 0x0312F },
420432 {0x03131 , 0x0318E },
421- {0x03190 , 0x031E3 },
422- {0x031F0 , 0x0321E },
433+ {0x03190 , 0x031E5 },
434+ {0x031EF , 0x0321E },
423435 {0x03220 , 0x03247 },
424- {0x03250 , 0x04DBF },
425- {0x04E00 , 0x0A48C },
436+ {0x03250 , 0x0A48C },
426437 {0x0A490 , 0x0A4C6 },
427438 {0x0A960 , 0x0A97C },
428439 {0x0AC00 , 0x0D7A3 },
@@ -437,7 +448,7 @@ static const struct widechar_range widechar_doublewide_table[] = {
437448 {0x16FF0 , 0x16FF1 },
438449 {0x17000 , 0x187F7 },
439450 {0x18800 , 0x18CD5 },
440- {0x18D00 , 0x18D08 },
451+ {0x18CFF , 0x18D08 },
441452 {0x1AFF0 , 0x1AFF3 },
442453 {0x1AFF5 , 0x1AFFB },
443454 {0x1AFFD , 0x1AFFE },
@@ -447,6 +458,8 @@ static const struct widechar_range widechar_doublewide_table[] = {
447458 {0x1B155 , 0x1B155 },
448459 {0x1B164 , 0x1B167 },
449460 {0x1B170 , 0x1B2FB },
461+ {0x1D300 , 0x1D356 },
462+ {0x1D360 , 0x1D376 },
450463 {0x1F200 , 0x1F200 },
451464 {0x1F202 , 0x1F202 },
452465 {0x1F210 , 0x1F219 },
@@ -471,11 +484,10 @@ static const struct widechar_range widechar_doublewide_table[] = {
471484 {0x1F985 , 0x1F9BF },
472485 {0x1F9C1 , 0x1F9FF },
473486 {0x1FA70 , 0x1FA7C },
474- {0x1FA80 , 0x1FA88 },
475- {0x1FA90 , 0x1FABD },
476- {0x1FABF , 0x1FAC5 },
477- {0x1FACE , 0x1FADB },
478- {0x1FAE0 , 0x1FAE8 },
487+ {0x1FA80 , 0x1FA89 },
488+ {0x1FA8F , 0x1FAC6 },
489+ {0x1FACE , 0x1FADC },
490+ {0x1FADF , 0x1FAE9 },
479491 {0x1FAF0 , 0x1FAF8 },
480492 {0x20000 , 0x2FFFD },
481493 {0x30000 , 0x3FFFD }
@@ -688,7 +700,7 @@ static const struct widechar_range widechar_unassigned_table[] = {
688700 {0x0085F , 0x0085F },
689701 {0x0086B , 0x0086F },
690702 {0x0088F , 0x0088F },
691- {0x00892 , 0x00897 },
703+ {0x00892 , 0x00896 },
692704 {0x00984 , 0x00984 },
693705 {0x0098D , 0x0098E },
694706 {0x00991 , 0x00992 },
@@ -880,12 +892,11 @@ static const struct widechar_range widechar_unassigned_table[] = {
880892 {0x01A9A , 0x01A9F },
881893 {0x01AAE , 0x01AAF },
882894 {0x01ACF , 0x01AFF },
883- {0x01B4D , 0x01B4F },
884- {0x01B7F , 0x01B7F },
895+ {0x01B4D , 0x01B4D },
885896 {0x01BF4 , 0x01BFB },
886897 {0x01C38 , 0x01C3A },
887898 {0x01C4A , 0x01C4C },
888- {0x01C89 , 0x01C8F },
899+ {0x01C8B , 0x01C8F },
889900 {0x01CBB , 0x01CBC },
890901 {0x01CC8 , 0x01CCF },
891902 {0x01CFB , 0x01CFF },
@@ -912,7 +923,7 @@ static const struct widechar_range widechar_unassigned_table[] = {
912923 {0x020C1 , 0x020CF },
913924 {0x020F1 , 0x020FF },
914925 {0x0218C , 0x0218F },
915- {0x02427 , 0x0243F },
926+ {0x0242A , 0x0243F },
916927 {0x0244B , 0x0245F },
917928 {0x02B74 , 0x02B75 },
918929 {0x02B96 , 0x02B96 },
@@ -935,24 +946,23 @@ static const struct widechar_range widechar_unassigned_table[] = {
935946 {0x02E9A , 0x02E9A },
936947 {0x02EF4 , 0x02EFF },
937948 {0x02FD6 , 0x02FEF },
938- {0x02FFC , 0x02FFF },
939949 {0x03040 , 0x03040 },
940950 {0x03097 , 0x03098 },
941951 {0x03100 , 0x03104 },
942952 {0x03130 , 0x03130 },
943953 {0x0318F , 0x0318F },
944- {0x031E4 , 0x031EF },
954+ {0x031E6 , 0x031EE },
945955 {0x0321F , 0x0321F },
946956 {0x03401 , 0x04DBE },
947957 {0x04E01 , 0x09FFE },
948958 {0x0A48D , 0x0A48F },
949959 {0x0A4C7 , 0x0A4CF },
950960 {0x0A62C , 0x0A63F },
951961 {0x0A6F8 , 0x0A6FF },
952- {0x0A7CB , 0x0A7CF },
962+ {0x0A7CE , 0x0A7CF },
953963 {0x0A7D2 , 0x0A7D2 },
954964 {0x0A7D4 , 0x0A7D4 },
955- {0x0A7DA , 0x0A7F1 },
965+ {0x0A7DD , 0x0A7F1 },
956966 {0x0A82D , 0x0A82F },
957967 {0x0A83A , 0x0A83F },
958968 {0x0A878 , 0x0A87F },
@@ -1041,7 +1051,8 @@ static const struct widechar_range widechar_unassigned_table[] = {
10411051 {0x105A2 , 0x105A2 },
10421052 {0x105B2 , 0x105B2 },
10431053 {0x105BA , 0x105BA },
1044- {0x105BD , 0x105FF },
1054+ {0x105BD , 0x105BF },
1055+ {0x105F4 , 0x105FF },
10451056 {0x10737 , 0x1073F },
10461057 {0x10756 , 0x1075F },
10471058 {0x10768 , 0x1077F },
@@ -1084,11 +1095,15 @@ static const struct widechar_range widechar_unassigned_table[] = {
10841095 {0x10CB3 , 0x10CBF },
10851096 {0x10CF3 , 0x10CF9 },
10861097 {0x10D28 , 0x10D2F },
1087- {0x10D3A , 0x10E5F },
1098+ {0x10D3A , 0x10D3F },
1099+ {0x10D66 , 0x10D68 },
1100+ {0x10D86 , 0x10D8D },
1101+ {0x10D90 , 0x10E5F },
10881102 {0x10E7F , 0x10E7F },
10891103 {0x10EAA , 0x10EAA },
10901104 {0x10EAE , 0x10EAF },
1091- {0x10EB2 , 0x10EFC },
1105+ {0x10EB2 , 0x10EC1 },
1106+ {0x10EC5 , 0x10EFB },
10921107 {0x10F28 , 0x10F2F },
10931108 {0x10F5A , 0x10F6F },
10941109 {0x10F8A , 0x10FAF },
@@ -1128,7 +1143,18 @@ static const struct widechar_range widechar_unassigned_table[] = {
11281143 {0x11358 , 0x1135C },
11291144 {0x11364 , 0x11365 },
11301145 {0x1136D , 0x1136F },
1131- {0x11375 , 0x113FF },
1146+ {0x11375 , 0x1137F },
1147+ {0x1138A , 0x1138A },
1148+ {0x1138C , 0x1138D },
1149+ {0x1138F , 0x1138F },
1150+ {0x113B6 , 0x113B6 },
1151+ {0x113C1 , 0x113C1 },
1152+ {0x113C3 , 0x113C4 },
1153+ {0x113C6 , 0x113C6 },
1154+ {0x113CB , 0x113CB },
1155+ {0x113D6 , 0x113D6 },
1156+ {0x113D9 , 0x113E0 },
1157+ {0x113E3 , 0x113FF },
11321158 {0x1145C , 0x1145C },
11331159 {0x11462 , 0x1147F },
11341160 {0x114C8 , 0x114CF },
@@ -1139,7 +1165,8 @@ static const struct widechar_range widechar_unassigned_table[] = {
11391165 {0x1165A , 0x1165F },
11401166 {0x1166D , 0x1167F },
11411167 {0x116BA , 0x116BF },
1142- {0x116CA , 0x116FF },
1168+ {0x116CA , 0x116CF },
1169+ {0x116E4 , 0x116FF },
11431170 {0x1171B , 0x1171C },
11441171 {0x1172C , 0x1172F },
11451172 {0x11747 , 0x117FF },
@@ -1159,7 +1186,9 @@ static const struct widechar_range widechar_unassigned_table[] = {
11591186 {0x11A48 , 0x11A4F },
11601187 {0x11AA3 , 0x11AAF },
11611188 {0x11AF9 , 0x11AFF },
1162- {0x11B0A , 0x11BFF },
1189+ {0x11B0A , 0x11BBF },
1190+ {0x11BE2 , 0x11BEF },
1191+ {0x11BFA , 0x11BFF },
11631192 {0x11C09 , 0x11C09 },
11641193 {0x11C37 , 0x11C37 },
11651194 {0x11C46 , 0x11C4F },
@@ -1183,16 +1212,18 @@ static const struct widechar_range widechar_unassigned_table[] = {
11831212 {0x11EF9 , 0x11EFF },
11841213 {0x11F11 , 0x11F11 },
11851214 {0x11F3B , 0x11F3D },
1186- {0x11F5A , 0x11FAF },
1215+ {0x11F5B , 0x11FAF },
11871216 {0x11FB1 , 0x11FBF },
11881217 {0x11FF2 , 0x11FFE },
11891218 {0x1239A , 0x123FF },
11901219 {0x1246F , 0x1246F },
11911220 {0x12475 , 0x1247F },
11921221 {0x12544 , 0x12F8F },
11931222 {0x12FF3 , 0x12FFF },
1194- {0x13456 , 0x143FF },
1195- {0x14647 , 0x167FF },
1223+ {0x13456 , 0x1345F },
1224+ {0x143FB , 0x143FF },
1225+ {0x14647 , 0x160FF },
1226+ {0x1613A , 0x167FF },
11961227 {0x16A39 , 0x16A3F },
11971228 {0x16A5F , 0x16A5F },
11981229 {0x16A6A , 0x16A6D },
@@ -1204,7 +1235,8 @@ static const struct widechar_range widechar_unassigned_table[] = {
12041235 {0x16B5A , 0x16B5A },
12051236 {0x16B62 , 0x16B62 },
12061237 {0x16B78 , 0x16B7C },
1207- {0x16B90 , 0x16E3F },
1238+ {0x16B90 , 0x16D3F },
1239+ {0x16D7A , 0x16E3F },
12081240 {0x16E9B , 0x16EFF },
12091241 {0x16F4B , 0x16F4E },
12101242 {0x16F88 , 0x16F8E },
@@ -1213,7 +1245,7 @@ static const struct widechar_range widechar_unassigned_table[] = {
12131245 {0x16FF2 , 0x16FFF },
12141246 {0x17001 , 0x187F6 },
12151247 {0x187F8 , 0x187FF },
1216- {0x18CD6 , 0x18CFF },
1248+ {0x18CD6 , 0x18CFE },
12171249 {0x18D01 , 0x18D07 },
12181250 {0x18D09 , 0x1AFEF },
12191251 {0x1AFF4 , 0x1AFF4 },
@@ -1229,7 +1261,9 @@ static const struct widechar_range widechar_unassigned_table[] = {
12291261 {0x1BC7D , 0x1BC7F },
12301262 {0x1BC89 , 0x1BC8F },
12311263 {0x1BC9A , 0x1BC9B },
1232- {0x1BCA4 , 0x1CEFF },
1264+ {0x1BCA4 , 0x1CBFF },
1265+ {0x1CCFA , 0x1CCFF },
1266+ {0x1CEB4 , 0x1CEFF },
12331267 {0x1CF2E , 0x1CF2F },
12341268 {0x1CF47 , 0x1CF4F },
12351269 {0x1CFC4 , 0x1CFFF },
@@ -1280,7 +1314,9 @@ static const struct widechar_range widechar_unassigned_table[] = {
12801314 {0x1E2AF , 0x1E2BF },
12811315 {0x1E2FA , 0x1E2FE },
12821316 {0x1E300 , 0x1E4CF },
1283- {0x1E4FA , 0x1E7DF },
1317+ {0x1E4FA , 0x1E5CF },
1318+ {0x1E5FB , 0x1E5FE },
1319+ {0x1E600 , 0x1E7DF },
12841320 {0x1E7E7 , 0x1E7E7 },
12851321 {0x1E7EC , 0x1E7EC },
12861322 {0x1E7EF , 0x1E7EF },
@@ -1350,18 +1386,17 @@ static const struct widechar_range widechar_unassigned_table[] = {
13501386 {0x1F85A , 0x1F85F },
13511387 {0x1F888 , 0x1F88F },
13521388 {0x1F8AE , 0x1F8AF },
1353- {0x1F8B2 , 0x1F8FF },
1389+ {0x1F8BC , 0x1F8BF },
1390+ {0x1F8C2 , 0x1F8FF },
13541391 {0x1FA54 , 0x1FA5F },
13551392 {0x1FA6E , 0x1FA6F },
13561393 {0x1FA7D , 0x1FA7F },
1357- {0x1FA89 , 0x1FA8F },
1358- {0x1FABE , 0x1FABE },
1359- {0x1FAC6 , 0x1FACD },
1360- {0x1FADC , 0x1FADF },
1361- {0x1FAE9 , 0x1FAEF },
1394+ {0x1FA8A , 0x1FA8E },
1395+ {0x1FAC7 , 0x1FACD },
1396+ {0x1FADD , 0x1FADE },
1397+ {0x1FAEA , 0x1FAEF },
13621398 {0x1FAF9 , 0x1FAFF },
13631399 {0x1FB93 , 0x1FB93 },
1364- {0x1FBCB , 0x1FBEF },
13651400 {0x1FBFA , 0x1FFFD },
13661401 {0x20001 , 0x2A6DE },
13671402 {0x2A6E0 , 0x2A6FF },
@@ -1372,7 +1407,9 @@ static const struct widechar_range widechar_unassigned_table[] = {
13721407 {0x2B821 , 0x2CEA0 },
13731408 {0x2CEA2 , 0x2CEAF },
13741409 {0x2CEB1 , 0x2EBDF },
1375- {0x2EBE1 , 0x2F7FF },
1410+ {0x2EBE1 , 0x2EBEF },
1411+ {0x2EBF1 , 0x2EE5C },
1412+ {0x2EE5E , 0x2F7FF },
13761413 {0x2FA1E , 0x2FFFD },
13771414 {0x30001 , 0x31349 },
13781415 {0x3134B , 0x3134F },
0 commit comments