From 01de14365ddfb37ec0745bd4661c469e9ba6a684 Mon Sep 17 00:00:00 2001 From: Beat Bolli Date: Mon, 12 Oct 2026 23:04:50 +0200 Subject: [PATCH] unicode: update the width tables to Unicode 18 Unicode 18 has been announced on 2026-09-16 [0], so update the character width tables to the new version. [0] https://blog.unicode.org/2026/09/announcing-unicode-standard-version-180.html Signed-off-by: Beat Bolli Signed-off-by: Junio C Hamano --- unicode-width.h | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/unicode-width.h b/unicode-width.h index b701129515..c8fcf68668 100644 --- a/unicode-width.h +++ b/unicode-width.h @@ -5,7 +5,7 @@ static const struct interval zero_width[] = { { 0x05BF, 0x05BF }, { 0x05C1, 0x05C2 }, { 0x05C4, 0x05C5 }, -{ 0x05C7, 0x05C7 }, +{ 0x05C7, 0x05C9 }, { 0x0600, 0x0605 }, { 0x0610, 0x061A }, { 0x061C, 0x061C }, @@ -61,7 +61,7 @@ static const struct interval zero_width[] = { { 0x0B3F, 0x0B3F }, { 0x0B41, 0x0B44 }, { 0x0B4D, 0x0B4D }, -{ 0x0B55, 0x0B56 }, +{ 0x0B53, 0x0B56 }, { 0x0B62, 0x0B63 }, { 0x0B82, 0x0B82 }, { 0x0BC0, 0x0BC0 }, @@ -143,8 +143,7 @@ static const struct interval zero_width[] = { { 0x1A65, 0x1A6C }, { 0x1A73, 0x1A7C }, { 0x1A7F, 0x1A7F }, -{ 0x1AB0, 0x1ADD }, -{ 0x1AE0, 0x1AEB }, +{ 0x1AB0, 0x1AF0 }, { 0x1B00, 0x1B03 }, { 0x1B34, 0x1B34 }, { 0x1B36, 0x1B3A }, @@ -230,7 +229,8 @@ static const struct interval zero_width[] = { { 0x10D24, 0x10D27 }, { 0x10D69, 0x10D6D }, { 0x10EAB, 0x10EAC }, -{ 0x10EFA, 0x10EFF }, +{ 0x10ECB, 0x10ECF }, +{ 0x10EF0, 0x10EFF }, { 0x10F46, 0x10F50 }, { 0x10F82, 0x10F85 }, { 0x11001, 0x11001 }, @@ -325,6 +325,7 @@ static const struct interval zero_width[] = { { 0x11D90, 0x11D91 }, { 0x11D95, 0x11D95 }, { 0x11D97, 0x11D97 }, +{ 0x11DF0, 0x11DF0 }, { 0x11EF3, 0x11EF4 }, { 0x11F00, 0x11F01 }, { 0x11F36, 0x11F3A }, @@ -344,11 +345,13 @@ static const struct interval zero_width[] = { { 0x1BCA0, 0x1BCA3 }, { 0x1CF00, 0x1CF2D }, { 0x1CF30, 0x1CF46 }, +{ 0x1D127, 0x1D128 }, { 0x1D167, 0x1D169 }, { 0x1D173, 0x1D182 }, { 0x1D185, 0x1D18B }, { 0x1D1AA, 0x1D1AD }, { 0x1D242, 0x1D244 }, +{ 0x1D25B, 0x1D25C }, { 0x1DA00, 0x1DA36 }, { 0x1DA3B, 0x1DA6C }, { 0x1DA75, 0x1DA75 }, @@ -438,17 +441,19 @@ static const struct interval double_width[] = { { 0xFFE0, 0xFFE6 }, { 0x16FE0, 0x16FE4 }, { 0x16FF0, 0x16FF6 }, -{ 0x17000, 0x18CD5 }, -{ 0x18CFF, 0x18D1E }, +{ 0x17000, 0x18CDA }, +{ 0x18CFF, 0x18D20 }, { 0x18D80, 0x18DF2 }, +{ 0x18E00, 0x19191 }, +{ 0x191A0, 0x191D2 }, { 0x1AFF0, 0x1AFF3 }, { 0x1AFF5, 0x1AFFB }, { 0x1AFFD, 0x1AFFE }, -{ 0x1B000, 0x1B122 }, +{ 0x1B000, 0x1B128 }, { 0x1B132, 0x1B132 }, { 0x1B150, 0x1B152 }, { 0x1B155, 0x1B155 }, -{ 0x1B164, 0x1B167 }, +{ 0x1B164, 0x1B168 }, { 0x1B170, 0x1B2FB }, { 0x1D300, 0x1D356 }, { 0x1D360, 0x1D376 }, @@ -456,6 +461,7 @@ static const struct interval double_width[] = { { 0x1F0CF, 0x1F0CF }, { 0x1F18E, 0x1F18E }, { 0x1F191, 0x1F19A }, +{ 0x1F1AE, 0x1F1AE }, { 0x1F200, 0x1F202 }, { 0x1F210, 0x1F23B }, { 0x1F240, 0x1F248 }, @@ -482,22 +488,22 @@ static const struct interval double_width[] = { { 0x1F680, 0x1F6C5 }, { 0x1F6CC, 0x1F6CC }, { 0x1F6D0, 0x1F6D2 }, -{ 0x1F6D5, 0x1F6D8 }, +{ 0x1F6D5, 0x1F6D9 }, { 0x1F6DC, 0x1F6DF }, { 0x1F6EB, 0x1F6EC }, { 0x1F6F4, 0x1F6FC }, +{ 0x1F7DA, 0x1F7DA }, { 0x1F7E0, 0x1F7EB }, { 0x1F7F0, 0x1F7F0 }, { 0x1F90C, 0x1F93A }, { 0x1F93C, 0x1F945 }, { 0x1F947, 0x1F9FF }, { 0x1FA70, 0x1FA7C }, -{ 0x1FA80, 0x1FA8A }, -{ 0x1FA8E, 0x1FAC6 }, +{ 0x1FA80, 0x1FAC6 }, { 0x1FAC8, 0x1FAC8 }, -{ 0x1FACD, 0x1FADC }, -{ 0x1FADF, 0x1FAEA }, -{ 0x1FAEF, 0x1FAF8 }, +{ 0x1FACC, 0x1FADD }, +{ 0x1FADF, 0x1FAEB }, +{ 0x1FAEF, 0x1FAFA }, { 0x20000, 0x2FFFD }, { 0x30000, 0x3FFFD } };