# [PATCH] unicode: update the width tables to Unicode 15

4 messages from 2022-09-17 to 2022-09-19. Participants: Force Charlie via GitGitGadget, Junio C Hamano.
Thread: https://gitlist.dev/t/58449

## Force Charlie via GitGitGadget, 2022-09-17 04:18

Subject: [PATCH] unicode: update the width tables to Unicode 15
Message-ID: <pull.1333.git.git.1663388320380.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.1333.git.git.1663388320380.gitgitgadget%40gmail.com

```
From: Force Charlie <charlieio@outlook.com>

Unicode 15 Released[0] and including several additional zero/double
width characters.

[0] https://home.unicode.org/announcing-the-unicode-standard-version-15-0/

Signed-off-by: Force Charlie <charlieio@outlook.com>
---
    unicode: update the width tables to Unicode 15
    
    Unicode 15 Released[0] and including several additional zero/double
    width characters.
    
    [0]
    https://home.unicode.org/announcing-the-unicode-standard-version-15-0/
    
    Signed-off-by: Force Charlie charlieio@outlook.com

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1333%2Ffcharlie%2Fupdate-unicode-15-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1333/fcharlie/update-unicode-15-v1
Pull-Request: https://github.com/git/git/pull/1333

 unicode-width.h | 33 +++++++++++++++++++++------------
 1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/unicode-width.h b/unicode-width.h
index 97c851b27df..e15fb0455bb 100644
--- a/unicode-width.h
+++ b/unicode-width.h
@@ -94,7 +94,7 @@ static const struct interval zero_width[] = {
 { 0x0E47, 0x0E4E },
 { 0x0EB1, 0x0EB1 },
 { 0x0EB4, 0x0EBC },
-{ 0x0EC8, 0x0ECD },
+{ 0x0EC8, 0x0ECE },
 { 0x0F18, 0x0F19 },
 { 0x0F35, 0x0F35 },
 { 0x0F37, 0x0F37 },
@@ -228,6 +228,7 @@ static const struct interval zero_width[] = {
 { 0x10AE5, 0x10AE6 },
 { 0x10D24, 0x10D27 },
 { 0x10EAB, 0x10EAC },
+{ 0x10EFD, 0x10EFF },
 { 0x10F46, 0x10F50 },
 { 0x10F82, 0x10F85 },
 { 0x11001, 0x11001 },
@@ -252,6 +253,7 @@ static const struct interval zero_width[] = {
 { 0x11234, 0x11234 },
 { 0x11236, 0x11237 },
 { 0x1123E, 0x1123E },
+{ 0x11241, 0x11241 },
 { 0x112DF, 0x112DF },
 { 0x112E3, 0x112EA },
 { 0x11300, 0x11301 },
@@ -313,7 +315,12 @@ static const struct interval zero_width[] = {
 { 0x11D95, 0x11D95 },
 { 0x11D97, 0x11D97 },
 { 0x11EF3, 0x11EF4 },
-{ 0x13430, 0x13438 },
+{ 0x11F00, 0x11F01 },
+{ 0x11F36, 0x11F3A },
+{ 0x11F40, 0x11F40 },
+{ 0x11F42, 0x11F42 },
+{ 0x13430, 0x13440 },
+{ 0x13447, 0x13455 },
 { 0x16AF0, 0x16AF4 },
 { 0x16B30, 0x16B36 },
 { 0x16F4F, 0x16F4F },
@@ -339,9 +346,11 @@ static const struct interval zero_width[] = {
 { 0x1E01B, 0x1E021 },
 { 0x1E023, 0x1E024 },
 { 0x1E026, 0x1E02A },
+{ 0x1E08F, 0x1E08F },
 { 0x1E130, 0x1E136 },
 { 0x1E2AE, 0x1E2AE },
 { 0x1E2EC, 0x1E2EF },
+{ 0x1E4EC, 0x1E4EF },
 { 0x1E8D0, 0x1E8D6 },
 { 0x1E944, 0x1E94A },
 { 0xE0001, 0xE0001 },
@@ -417,7 +426,9 @@ static const struct interval double_width[] = {
 { 0x1AFF5, 0x1AFFB },
 { 0x1AFFD, 0x1AFFE },
 { 0x1B000, 0x1B122 },
+{ 0x1B132, 0x1B132 },
 { 0x1B150, 0x1B152 },
+{ 0x1B155, 0x1B155 },
 { 0x1B164, 0x1B167 },
 { 0x1B170, 0x1B2FB },
 { 0x1F004, 0x1F004 },
@@ -451,7 +462,7 @@ static const struct interval double_width[] = {
 { 0x1F6CC, 0x1F6CC },
 { 0x1F6D0, 0x1F6D2 },
 { 0x1F6D5, 0x1F6D7 },
-{ 0x1F6DD, 0x1F6DF },
+{ 0x1F6DC, 0x1F6DF },
 { 0x1F6EB, 0x1F6EC },
 { 0x1F6F4, 0x1F6FC },
 { 0x1F7E0, 0x1F7EB },
@@ -459,15 +470,13 @@ static const struct interval double_width[] = {
 { 0x1F90C, 0x1F93A },
 { 0x1F93C, 0x1F945 },
 { 0x1F947, 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 }
 };

base-commit: d3fa443f97e3a8d75b51341e2d5bac380b7422df
-- 
gitgitgadget

```

## Junio C Hamano, 2022-09-19 17:15

Subject: Re: [PATCH] unicode: update the width tables to Unicode 15
Message-ID: <xmqqo7vbb810.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqo7vbb810.fsf%40gitster.g
In-Reply-To: <pull.1333.git.git.1663388320380.gitgitgadget@gmail.com>

```
"Force Charlie via GitGitGadget" <gitgitgadget@gmail.com> writes:

> From: Force Charlie <charlieio@outlook.com>
>
> Unicode 15 Released[0] and including several additional zero/double
> width characters.
>
> [0] https://home.unicode.org/announcing-the-unicode-standard-version-15-0/
>
> Signed-off-by: Force Charlie <charlieio@outlook.com>
> ---
>     unicode: update the width tables to Unicode 15
>     
>     Unicode 15 Released[0] and including several additional zero/double
>     width characters.
>     
>     [0]
>     https://home.unicode.org/announcing-the-unicode-standard-version-15-0/

Thanks.

Where are you getting the information to update these ranges from,
among 4489 new characters?  Is there a readily accessible URL that
is more suitable than the announcement of the whole collection?

```

## Junio C Hamano, 2022-09-19 18:49

Subject: Re: [PATCH] unicode: update the width tables to Unicode 15
Message-ID: <xmqqczbr9p3u.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqczbr9p3u.fsf%40gitster.g
In-Reply-To: <xmqqo7vbb810.fsf@gitster.g>

```
Junio C Hamano <gitster@pobox.com> writes:

> "Force Charlie via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
>> From: Force Charlie <charlieio@outlook.com>
>>
>> Unicode 15 Released[0] and including several additional zero/double
>> width characters.
>>
>> [0] https://home.unicode.org/announcing-the-unicode-standard-version-15-0/
>>
>> Signed-off-by: Force Charlie <charlieio@outlook.com>
>> ---
> Thanks.
>
> Where are you getting the information to update these ranges from,
> among 4489 new characters?  Is there a readily accessible URL that
> is more suitable than the announcement of the whole collection?

Ah, it would probably is a good idea to say what you did to prepare
this patch in this case, like:

    Unicode 15 that was released recentry [0] includes several
    additional zero/double width characters.

    Update unicode-width.h table by cd'ing to contrib/update-unicode/
    and running update_unicode.sh script there.

    [0] https://home.unicode.org/announcing-the-unicode-standard-version-15-0/

or something, I guess.

Thanks.

```

## Force Charlie via GitGitGadget, 2022-09-19 19:00

Subject: [PATCH v2] unicode: update the width tables to Unicode 15
Message-ID: <pull.1333.v2.git.git.1663614033063.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.1333.v2.git.git.1663614033063.gitgitgadget%40gmail.com
In-Reply-To: <pull.1333.git.git.1663388320380.gitgitgadget@gmail.com>

```
From: Force Charlie <charlieio@outlook.com>

Unicode 15 Released[0] and including several additional zero/double
width characters.

[0] https://home.unicode.org/announcing-the-unicode-standard-version-15-0/

unicode-width.h regenerated by contrib/update-unicode/update_unicode.sh

Signed-off-by: Force Charlie <charlieio@outlook.com>
---
    unicode: update the width tables to Unicode 15
    
    Unicode 15 Released[0] and including several additional zero/double
    width characters.
    
    [0]
    https://home.unicode.org/announcing-the-unicode-standard-version-15-0/
    
    unicode-width.h regenerated by contrib/update-unicode/update_unicode.sh

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1333%2Ffcharlie%2Fupdate-unicode-15-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1333/fcharlie/update-unicode-15-v2
Pull-Request: https://github.com/git/git/pull/1333

Range-diff vs v1:

 1:  02d214def81 ! 1:  462fc646917 unicode: update the width tables to Unicode 15
     @@ Commit message
      
          [0] https://home.unicode.org/announcing-the-unicode-standard-version-15-0/
      
     +    unicode-width.h regenerated by contrib/update-unicode/update_unicode.sh
     +
          Signed-off-by: Force Charlie <charlieio@outlook.com>
      
       ## unicode-width.h ##


 unicode-width.h | 33 +++++++++++++++++++++------------
 1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/unicode-width.h b/unicode-width.h
index 97c851b27df..e15fb0455bb 100644
--- a/unicode-width.h
+++ b/unicode-width.h
@@ -94,7 +94,7 @@ static const struct interval zero_width[] = {
 { 0x0E47, 0x0E4E },
 { 0x0EB1, 0x0EB1 },
 { 0x0EB4, 0x0EBC },
-{ 0x0EC8, 0x0ECD },
+{ 0x0EC8, 0x0ECE },
 { 0x0F18, 0x0F19 },
 { 0x0F35, 0x0F35 },
 { 0x0F37, 0x0F37 },
@@ -228,6 +228,7 @@ static const struct interval zero_width[] = {
 { 0x10AE5, 0x10AE6 },
 { 0x10D24, 0x10D27 },
 { 0x10EAB, 0x10EAC },
+{ 0x10EFD, 0x10EFF },
 { 0x10F46, 0x10F50 },
 { 0x10F82, 0x10F85 },
 { 0x11001, 0x11001 },
@@ -252,6 +253,7 @@ static const struct interval zero_width[] = {
 { 0x11234, 0x11234 },
 { 0x11236, 0x11237 },
 { 0x1123E, 0x1123E },
+{ 0x11241, 0x11241 },
 { 0x112DF, 0x112DF },
 { 0x112E3, 0x112EA },
 { 0x11300, 0x11301 },
@@ -313,7 +315,12 @@ static const struct interval zero_width[] = {
 { 0x11D95, 0x11D95 },
 { 0x11D97, 0x11D97 },
 { 0x11EF3, 0x11EF4 },
-{ 0x13430, 0x13438 },
+{ 0x11F00, 0x11F01 },
+{ 0x11F36, 0x11F3A },
+{ 0x11F40, 0x11F40 },
+{ 0x11F42, 0x11F42 },
+{ 0x13430, 0x13440 },
+{ 0x13447, 0x13455 },
 { 0x16AF0, 0x16AF4 },
 { 0x16B30, 0x16B36 },
 { 0x16F4F, 0x16F4F },
@@ -339,9 +346,11 @@ static const struct interval zero_width[] = {
 { 0x1E01B, 0x1E021 },
 { 0x1E023, 0x1E024 },
 { 0x1E026, 0x1E02A },
+{ 0x1E08F, 0x1E08F },
 { 0x1E130, 0x1E136 },
 { 0x1E2AE, 0x1E2AE },
 { 0x1E2EC, 0x1E2EF },
+{ 0x1E4EC, 0x1E4EF },
 { 0x1E8D0, 0x1E8D6 },
 { 0x1E944, 0x1E94A },
 { 0xE0001, 0xE0001 },
@@ -417,7 +426,9 @@ static const struct interval double_width[] = {
 { 0x1AFF5, 0x1AFFB },
 { 0x1AFFD, 0x1AFFE },
 { 0x1B000, 0x1B122 },
+{ 0x1B132, 0x1B132 },
 { 0x1B150, 0x1B152 },
+{ 0x1B155, 0x1B155 },
 { 0x1B164, 0x1B167 },
 { 0x1B170, 0x1B2FB },
 { 0x1F004, 0x1F004 },
@@ -451,7 +462,7 @@ static const struct interval double_width[] = {
 { 0x1F6CC, 0x1F6CC },
 { 0x1F6D0, 0x1F6D2 },
 { 0x1F6D5, 0x1F6D7 },
-{ 0x1F6DD, 0x1F6DF },
+{ 0x1F6DC, 0x1F6DF },
 { 0x1F6EB, 0x1F6EC },
 { 0x1F6F4, 0x1F6FC },
 { 0x1F7E0, 0x1F7EB },
@@ -459,15 +470,13 @@ static const struct interval double_width[] = {
 { 0x1F90C, 0x1F93A },
 { 0x1F93C, 0x1F945 },
 { 0x1F947, 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 }
 };

base-commit: d3fa443f97e3a8d75b51341e2d5bac380b7422df
-- 
gitgitgadget

```
