From 3d8cfb30b618cc25152bb150ffb0b4d8d562640e Mon Sep 17 00:00:00 2001
From: robot-codenav <robot-codenav@yandex-team.com>
Date: Mon, 22 Jan 2024 00:00:57 +0300
Subject: Update build documentations for rXXXXXX

Task: https://sandbox.yandex-team.ru/task/2130955492/view

update build docs
---
 contrib/python/wcwidth/py3/.dist-info/METADATA     |  10 +-
 contrib/python/wcwidth/py3/README.rst              |   8 +-
 contrib/python/wcwidth/py3/tests/test_core.py      |  57 +++++++-
 .../wcwidth/py3/tests/test_table_integrity.py      |  15 +++
 contrib/python/wcwidth/py3/wcwidth/__init__.py     |   2 +-
 contrib/python/wcwidth/py3/wcwidth/table_wide.py   | 148 +++++++++++----------
 contrib/python/wcwidth/py3/wcwidth/table_zero.py   |  40 +++++-
 contrib/python/wcwidth/py3/wcwidth/wcwidth.py      |   7 +-
 contrib/python/wcwidth/py3/ya.make                 |   2 +-
 9 files changed, 205 insertions(+), 84 deletions(-)
 create mode 100644 contrib/python/wcwidth/py3/tests/test_table_integrity.py

(limited to 'contrib')

diff --git a/contrib/python/wcwidth/py3/.dist-info/METADATA b/contrib/python/wcwidth/py3/.dist-info/METADATA
index 2539b52f73..f7f7fcdcc8 100644
--- a/contrib/python/wcwidth/py3/.dist-info/METADATA
+++ b/contrib/python/wcwidth/py3/.dist-info/METADATA
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: wcwidth
-Version: 0.2.12
+Version: 0.2.13
 Summary: Measures the displayed width of unicode strings in a terminal
 Home-page: https://github.com/jquast/wcwidth
 Author: Jeff Quast
@@ -63,7 +63,7 @@ Example
    >>>  text = u'コンニチハ'
 
 Python **incorrectly** uses the *string length* of 5 codepoints rather than the
-*printible length* of 10 cells, so that when using the `rjust` function, the
+*printable length* of 10 cells, so that when using the `rjust` function, the
 output length is wrong::
 
     >>> print(len('コンニチハ'))
@@ -247,8 +247,12 @@ Other Languages
 =======
 History
 =======
+
+0.2.13 *2024-01-06*
+  * **Bugfix** zero-width support for Hangul Jamo (Korean)
+
 0.2.12 *2023-11-21*
-  * re-release to remove .pyi file misplaced in wheel files `Issue #101`.
+  * re-release to remove .pyi file misplaced in wheel files `Issue #101`_.
 
 0.2.11 *2023-11-20*
   * Include tests files in the source distribution (`PR #98`_, `PR #100`_).
diff --git a/contrib/python/wcwidth/py3/README.rst b/contrib/python/wcwidth/py3/README.rst
index a0dd44cb83..65df2081b8 100644
--- a/contrib/python/wcwidth/py3/README.rst
+++ b/contrib/python/wcwidth/py3/README.rst
@@ -32,7 +32,7 @@ Example
    >>>  text = u'コンニチハ'
 
 Python **incorrectly** uses the *string length* of 5 codepoints rather than the
-*printible length* of 10 cells, so that when using the `rjust` function, the
+*printable length* of 10 cells, so that when using the `rjust` function, the
 output length is wrong::
 
     >>> print(len('コンニチハ'))
@@ -216,8 +216,12 @@ Other Languages
 =======
 History
 =======
+
+0.2.13 *2024-01-06*
+  * **Bugfix** zero-width support for Hangul Jamo (Korean)
+
 0.2.12 *2023-11-21*
-  * re-release to remove .pyi file misplaced in wheel files `Issue #101`.
+  * re-release to remove .pyi file misplaced in wheel files `Issue #101`_.
 
 0.2.11 *2023-11-20*
   * Include tests files in the source distribution (`PR #98`_, `PR #100`_).
diff --git a/contrib/python/wcwidth/py3/tests/test_core.py b/contrib/python/wcwidth/py3/tests/test_core.py
index d2776cd992..60ed6b1cde 100644
--- a/contrib/python/wcwidth/py3/tests/test_core.py
+++ b/contrib/python/wcwidth/py3/tests/test_core.py
@@ -222,17 +222,48 @@ def test_balinese_script():
     assert length_phrase == expect_length_phrase
 
 
+def test_kr_jamo():
+    """
+    Test basic combining of HANGUL CHOSEONG and JUNGSEONG
+
+    Example and from Raymond Chen's blog post,
+    https://devblogs.microsoft.com/oldnewthing/20201009-00/?p=104351
+    """
+    # This is an example where both characters are "wide" when displayed alone.
+    #
+    # But JUNGSEONG (vowel) is designed for combination with a CHOSEONG (consonant).
+    #
+    # This wcwidth library understands their width only when combination,
+    # and not by independent display, like other zero-width characters that may
+    # only combine with an appropriate preceding character.
+    phrase = (
+        u"\u1100"  # ᄀ HANGUL CHOSEONG KIYEOK (consonant)
+        u"\u1161"  # ᅡ HANGUL JUNGSEONG A (vowel)
+    )
+    expect_length_each = (2, 0)
+    expect_length_phrase = 2
+
+    # exercise,
+    length_each = tuple(map(wcwidth.wcwidth, phrase))
+    length_phrase = wcwidth.wcswidth(phrase)
+
+    # verify.
+    assert length_each == expect_length_each
+    assert length_phrase == expect_length_phrase
+
+
 def test_kr_jamo_filler():
     u"""
     Jamo filler is 0 width.
 
-    According to https://www.unicode.org/L2/L2006/06310-hangul-decompose9.pdf this character and others
-    like it, ``\uffa0``, ``\u1160``, ``\u115f``, ``\u1160``, are not commonly viewed with a terminal,
-    seems it doesn't matter whether it is implemented or not, they are not typically used !
+    Example from https://www.unicode.org/L2/L2006/06310-hangul-decompose9.pdf
     """
-    phrase = u"\u1100\u1160"
-    expect_length_each = (2, 1)
-    expect_length_phrase = 3
+    phrase = (
+        u"\u1100"  # HANGUL CHOSEONG KIYEOK (consonant)
+        u"\u1160"  # HANGUL JUNGSEONG FILLER (vowel)
+    )
+    expect_length_each = (2, 0)
+    expect_length_phrase = 2
 
     # exercise,
     length_each = tuple(map(wcwidth.wcwidth, phrase))
@@ -355,3 +386,17 @@ def test_kannada_script_2():
     # verify.
     assert length_each == expect_length_each
     assert length_phrase == expect_length_phrase
+
+
+def test_zero_wide_conflict():
+    # Test characters considered both "wide" and "zero" width
+    # -  (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+    # +  (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+    assert wcwidth.wcwidth(unichr(0x03029), unicode_version='4.1.0') == 2
+    assert wcwidth.wcwidth(unichr(0x0302a), unicode_version='4.1.0') == 0
+
+    # - (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+    # + (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
+    assert wcwidth.wcwidth(unichr(0x03099), unicode_version='4.1.0') == 0
+    assert wcwidth.wcwidth(unichr(0x0309a), unicode_version='4.1.0') == 0
+    assert wcwidth.wcwidth(unichr(0x0309b), unicode_version='4.1.0') == 2
diff --git a/contrib/python/wcwidth/py3/tests/test_table_integrity.py b/contrib/python/wcwidth/py3/tests/test_table_integrity.py
new file mode 100644
index 0000000000..66e63ddbe3
--- /dev/null
+++ b/contrib/python/wcwidth/py3/tests/test_table_integrity.py
@@ -0,0 +1,15 @@
+"""
+Executes verify-table-integrity.py as a unit test.
+"""
+import os
+import sys
+import subprocess
+
+import pytest
+
+@pytest.mark.skipif(sys.version_info[:2] != (3, 12), reason='Test only with a single version of python')
+def test_verify_table_integrity():
+    subprocess.check_output([sys.executable, os.path.join(os.path.dirname(__file__),
+                                                          os.path.pardir,
+                                                          'bin',
+                                                          'verify-table-integrity.py')])
\ No newline at end of file
diff --git a/contrib/python/wcwidth/py3/wcwidth/__init__.py b/contrib/python/wcwidth/py3/wcwidth/__init__.py
index 40eedb6d22..d686b30e1b 100644
--- a/contrib/python/wcwidth/py3/wcwidth/__init__.py
+++ b/contrib/python/wcwidth/py3/wcwidth/__init__.py
@@ -26,4 +26,4 @@ __all__ = ('wcwidth', 'wcswidth', 'list_versions')
 # We also used pkg_resources to load unicode version tables from version.json,
 # generated by bin/update-tables.py, but some environments are unable to
 # import pkg_resources for one reason or another, yikes!
-__version__ = '0.2.12'
+__version__ = '0.2.13'
diff --git a/contrib/python/wcwidth/py3/wcwidth/table_wide.py b/contrib/python/wcwidth/py3/wcwidth/table_wide.py
index 02afd5c2b7..bd6dfdd82a 100644
--- a/contrib/python/wcwidth/py3/wcwidth/table_wide.py
+++ b/contrib/python/wcwidth/py3/wcwidth/table_wide.py
@@ -1,7 +1,7 @@
 """
 Exports WIDE_EASTASIAN table keyed by supporting unicode version level.
 
-This code generated by wcwidth/bin/update-tables.py on 2023-09-14 15:45:33 UTC.
+This code generated by wcwidth/bin/update-tables.py on 2024-01-06 01:39:49 UTC.
 """
 WIDE_EASTASIAN = {
     '4.1.0': (
@@ -15,9 +15,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312c,),  # Bopomofo Letter B       ..Bopomofo Letter Gn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031b7,),  # Ideographic Annotation L..Bopomofo Final Letter H
@@ -53,9 +54,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312c,),  # Bopomofo Letter B       ..Bopomofo Letter Gn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031b7,),  # Ideographic Annotation L..Bopomofo Final Letter H
@@ -91,9 +93,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031b7,),  # Ideographic Annotation L..Bopomofo Final Letter H
@@ -123,16 +126,15 @@ WIDE_EASTASIAN = {
         # Date: 2009-06-09, 17:47:00 PDT [KW]
         #
         (0x01100, 0x0115f,),  # Hangul Choseong Kiyeok  ..Hangul Choseong Filler
-        (0x011a3, 0x011a7,),  # Hangul Jungseong A-eu   ..Hangul Jungseong O-yae
-        (0x011fa, 0x011ff,),  # Hangul Jongseong Kiyeok-..Hangul Jongseong Ssangni
         (0x02329, 0x0232a,),  # Left-pointing Angle Brac..Right-pointing Angle Bra
         (0x02e80, 0x02e99,),  # Cjk Radical Repeat      ..Cjk Radical Rap
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031b7,),  # Ideographic Annotation L..Bopomofo Final Letter H
@@ -145,8 +147,6 @@ WIDE_EASTASIAN = {
         (0x0a490, 0x0a4c6,),  # Yi Radical Qot          ..Yi Radical Ke
         (0x0a960, 0x0a97c,),  # Hangul Choseong Tikeut-m..Hangul Choseong Ssangyeo
         (0x0ac00, 0x0d7a3,),  # Hangul Syllable Ga      ..Hangul Syllable Hih
-        (0x0d7b0, 0x0d7c6,),  # Hangul Jungseong O-yeo  ..Hangul Jungseong Araea-e
-        (0x0d7cb, 0x0d7fb,),  # Hangul Jongseong Nieun-r..Hangul Jongseong Phieuph
         (0x0f900, 0x0faff,),  # Cjk Compatibility Ideogr..(nil)
         (0x0fe10, 0x0fe19,),  # Presentation Form For Ve..Presentation Form For Ve
         (0x0fe30, 0x0fe52,),  # Presentation Form For Ve..Small Full Stop
@@ -165,16 +165,15 @@ WIDE_EASTASIAN = {
         # Date: 2010-08-17, 12:17:00 PDT [KW]
         #
         (0x01100, 0x0115f,),  # Hangul Choseong Kiyeok  ..Hangul Choseong Filler
-        (0x011a3, 0x011a7,),  # Hangul Jungseong A-eu   ..Hangul Jungseong O-yae
-        (0x011fa, 0x011ff,),  # Hangul Jongseong Kiyeok-..Hangul Jongseong Ssangni
         (0x02329, 0x0232a,),  # Left-pointing Angle Brac..Right-pointing Angle Bra
         (0x02e80, 0x02e99,),  # Cjk Radical Repeat      ..Cjk Radical Rap
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -187,8 +186,6 @@ WIDE_EASTASIAN = {
         (0x0a490, 0x0a4c6,),  # Yi Radical Qot          ..Yi Radical Ke
         (0x0a960, 0x0a97c,),  # Hangul Choseong Tikeut-m..Hangul Choseong Ssangyeo
         (0x0ac00, 0x0d7a3,),  # Hangul Syllable Ga      ..Hangul Syllable Hih
-        (0x0d7b0, 0x0d7c6,),  # Hangul Jungseong O-yeo  ..Hangul Jungseong Araea-e
-        (0x0d7cb, 0x0d7fb,),  # Hangul Jongseong Nieun-r..Hangul Jongseong Phieuph
         (0x0f900, 0x0faff,),  # Cjk Compatibility Ideogr..(nil)
         (0x0fe10, 0x0fe19,),  # Presentation Form For Ve..Presentation Form For Ve
         (0x0fe30, 0x0fe52,),  # Presentation Form For Ve..Small Full Stop
@@ -209,16 +206,15 @@ WIDE_EASTASIAN = {
         # Date: 2011-09-19, 18:46:00 GMT [KW]
         #
         (0x01100, 0x0115f,),  # Hangul Choseong Kiyeok  ..Hangul Choseong Filler
-        (0x011a3, 0x011a7,),  # Hangul Jungseong A-eu   ..Hangul Jungseong O-yae
-        (0x011fa, 0x011ff,),  # Hangul Jongseong Kiyeok-..Hangul Jongseong Ssangni
         (0x02329, 0x0232a,),  # Left-pointing Angle Brac..Right-pointing Angle Bra
         (0x02e80, 0x02e99,),  # Cjk Radical Repeat      ..Cjk Radical Rap
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -231,8 +227,6 @@ WIDE_EASTASIAN = {
         (0x0a490, 0x0a4c6,),  # Yi Radical Qot          ..Yi Radical Ke
         (0x0a960, 0x0a97c,),  # Hangul Choseong Tikeut-m..Hangul Choseong Ssangyeo
         (0x0ac00, 0x0d7a3,),  # Hangul Syllable Ga      ..Hangul Syllable Hih
-        (0x0d7b0, 0x0d7c6,),  # Hangul Jungseong O-yeo  ..Hangul Jungseong Araea-e
-        (0x0d7cb, 0x0d7fb,),  # Hangul Jongseong Nieun-r..Hangul Jongseong Phieuph
         (0x0f900, 0x0faff,),  # Cjk Compatibility Ideogr..(nil)
         (0x0fe10, 0x0fe19,),  # Presentation Form For Ve..Presentation Form For Ve
         (0x0fe30, 0x0fe52,),  # Presentation Form For Ve..Small Full Stop
@@ -258,9 +252,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -298,9 +293,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -338,9 +334,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -378,9 +375,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -451,9 +449,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312d,),  # Bopomofo Letter B       ..Bopomofo Letter Ih
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -493,7 +492,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
@@ -562,9 +562,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312e,),  # Bopomofo Letter B       ..Bopomofo Letter O With D
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -606,7 +607,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
@@ -673,9 +675,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312f,),  # Bopomofo Letter B       ..Bopomofo Letter Nn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -717,7 +720,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
@@ -786,9 +790,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312f,),  # Bopomofo Letter B       ..Bopomofo Letter Nn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -832,7 +837,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
@@ -905,9 +911,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312f,),  # Bopomofo Letter B       ..Bopomofo Letter Nn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031ba,),  # Ideographic Annotation L..Bopomofo Letter Zy
@@ -950,7 +957,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
@@ -1023,9 +1031,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312f,),  # Bopomofo Letter B       ..Bopomofo Letter Nn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031e3,),  # Ideographic Annotation L..Cjk Stroke Q
@@ -1043,8 +1052,7 @@ WIDE_EASTASIAN = {
         (0x0fe68, 0x0fe6b,),  # Small Reverse Solidus   ..Small Commercial At
         (0x0ff01, 0x0ff60,),  # Fullwidth Exclamation Ma..Fullwidth Right White Pa
         (0x0ffe0, 0x0ffe6,),  # Fullwidth Cent Sign     ..Fullwidth Won Sign
-        (0x16fe0, 0x16fe4,),  # Tangut Iteration Mark   ..Khitan Small Script Fill
-        (0x16ff0, 0x16ff1,),  # Vietnamese Alternate Rea..Vietnamese Alternate Rea
+        (0x16fe0, 0x16fe3,),  # Tangut Iteration Mark   ..Old Chinese Iteration Ma
         (0x17000, 0x187f7,),  # (nil)
         (0x18800, 0x18cd5,),  # Tangut Component-001    ..Khitan Small Script Char
         (0x18d00, 0x18d08,),  # (nil)
@@ -1069,7 +1077,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
@@ -1144,9 +1153,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312f,),  # Bopomofo Letter B       ..Bopomofo Letter Nn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031e3,),  # Ideographic Annotation L..Cjk Stroke Q
@@ -1164,8 +1174,7 @@ WIDE_EASTASIAN = {
         (0x0fe68, 0x0fe6b,),  # Small Reverse Solidus   ..Small Commercial At
         (0x0ff01, 0x0ff60,),  # Fullwidth Exclamation Ma..Fullwidth Right White Pa
         (0x0ffe0, 0x0ffe6,),  # Fullwidth Cent Sign     ..Fullwidth Won Sign
-        (0x16fe0, 0x16fe4,),  # Tangut Iteration Mark   ..Khitan Small Script Fill
-        (0x16ff0, 0x16ff1,),  # Vietnamese Alternate Rea..Vietnamese Alternate Rea
+        (0x16fe0, 0x16fe3,),  # Tangut Iteration Mark   ..Old Chinese Iteration Ma
         (0x17000, 0x187f7,),  # (nil)
         (0x18800, 0x18cd5,),  # Tangut Component-001    ..Khitan Small Script Char
         (0x18d00, 0x18d08,),  # (nil)
@@ -1193,7 +1202,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
@@ -1270,9 +1280,10 @@ WIDE_EASTASIAN = {
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
         (0x02ff0, 0x02ffb,),  # Ideographic Description ..Ideographic Description
-        (0x03000, 0x0303e,),  # Ideographic Space       ..Ideographic Variation In
+        (0x03000, 0x03029,),  # Ideographic Space       ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312f,),  # Bopomofo Letter B       ..Bopomofo Letter Nn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031e3,),  # Ideographic Annotation L..Cjk Stroke Q
@@ -1290,8 +1301,7 @@ WIDE_EASTASIAN = {
         (0x0fe68, 0x0fe6b,),  # Small Reverse Solidus   ..Small Commercial At
         (0x0ff01, 0x0ff60,),  # Fullwidth Exclamation Ma..Fullwidth Right White Pa
         (0x0ffe0, 0x0ffe6,),  # Fullwidth Cent Sign     ..Fullwidth Won Sign
-        (0x16fe0, 0x16fe4,),  # Tangut Iteration Mark   ..Khitan Small Script Fill
-        (0x16ff0, 0x16ff1,),  # Vietnamese Alternate Rea..Vietnamese Alternate Rea
+        (0x16fe0, 0x16fe3,),  # Tangut Iteration Mark   ..Old Chinese Iteration Ma
         (0x17000, 0x187f7,),  # (nil)
         (0x18800, 0x18cd5,),  # Tangut Component-001    ..Khitan Small Script Char
         (0x18d00, 0x18d08,),  # (nil)
@@ -1321,7 +1331,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
@@ -1395,9 +1406,10 @@ WIDE_EASTASIAN = {
         (0x02e80, 0x02e99,),  # Cjk Radical Repeat      ..Cjk Radical Rap
         (0x02e9b, 0x02ef3,),  # Cjk Radical Choke       ..Cjk Radical C-simplified
         (0x02f00, 0x02fd5,),  # Kangxi Radical One      ..Kangxi Radical Flute
-        (0x02ff0, 0x0303e,),  # Ideographic Description ..Ideographic Variation In
+        (0x02ff0, 0x03029,),  # Ideographic Description ..Hangzhou Numeral Nine
+        (0x03030, 0x0303e,),  # Wavy Dash               ..Ideographic Variation In
         (0x03041, 0x03096,),  # Hiragana Letter Small A ..Hiragana Letter Small Ke
-        (0x03099, 0x030ff,),  # Combining Katakana-hirag..Katakana Digraph Koto
+        (0x0309b, 0x030ff,),  # Katakana-hiragana Voiced..Katakana Digraph Koto
         (0x03105, 0x0312f,),  # Bopomofo Letter B       ..Bopomofo Letter Nn
         (0x03131, 0x0318e,),  # Hangul Letter Kiyeok    ..Hangul Letter Araeae
         (0x03190, 0x031e3,),  # Ideographic Annotation L..Cjk Stroke Q
@@ -1415,8 +1427,7 @@ WIDE_EASTASIAN = {
         (0x0fe68, 0x0fe6b,),  # Small Reverse Solidus   ..Small Commercial At
         (0x0ff01, 0x0ff60,),  # Fullwidth Exclamation Ma..Fullwidth Right White Pa
         (0x0ffe0, 0x0ffe6,),  # Fullwidth Cent Sign     ..Fullwidth Won Sign
-        (0x16fe0, 0x16fe4,),  # Tangut Iteration Mark   ..Khitan Small Script Fill
-        (0x16ff0, 0x16ff1,),  # Vietnamese Alternate Rea..Vietnamese Alternate Rea
+        (0x16fe0, 0x16fe3,),  # Tangut Iteration Mark   ..Old Chinese Iteration Ma
         (0x17000, 0x187f7,),  # (nil)
         (0x18800, 0x18cd5,),  # Tangut Component-001    ..Khitan Small Script Char
         (0x18d00, 0x18d08,),  # (nil)
@@ -1446,7 +1457,8 @@ WIDE_EASTASIAN = {
         (0x1f3cf, 0x1f3d3,),  # Cricket Bat And Ball    ..Table Tennis Paddle And
         (0x1f3e0, 0x1f3f0,),  # House Building          ..European Castle
         (0x1f3f4, 0x1f3f4,),  # Waving Black Flag
-        (0x1f3f8, 0x1f43e,),  # Badminton Racquet And Sh..Paw Prints
+        (0x1f3f8, 0x1f3fa,),  # Badminton Racquet And Sh..Amphora
+        (0x1f400, 0x1f43e,),  # Rat                     ..Paw Prints
         (0x1f440, 0x1f440,),  # Eyes
         (0x1f442, 0x1f4fc,),  # Ear                     ..Videocassette
         (0x1f4ff, 0x1f53d,),  # Prayer Beads            ..Down-pointing Small Red
diff --git a/contrib/python/wcwidth/py3/wcwidth/table_zero.py b/contrib/python/wcwidth/py3/wcwidth/table_zero.py
index 67261fd659..dd42291560 100644
--- a/contrib/python/wcwidth/py3/wcwidth/table_zero.py
+++ b/contrib/python/wcwidth/py3/wcwidth/table_zero.py
@@ -1,7 +1,7 @@
 """
 Exports ZERO_WIDTH table keyed by supporting unicode version level.
 
-This code generated by wcwidth/bin/update-tables.py on 2023-10-19 20:57:31 UTC.
+This code generated by wcwidth/bin/update-tables.py on 2024-01-04 07:14:52 UTC.
 """
 ZERO_WIDTH = {
     '4.1.0': (
@@ -107,6 +107,7 @@ ZERO_WIDTH = {
         (0x0102c, 0x01032,),  # Myanmar Vowel Sign Aa   ..Myanmar Vowel Sign Ai
         (0x01036, 0x01039,),  # Myanmar Sign Anusvara   ..Myanmar Sign Virama
         (0x01056, 0x01059,),  # Myanmar Vowel Sign Vocal..Myanmar Vowel Sign Vocal
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135f, 0x0135f,),  # Ethiopic Combining Gemination Mark
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -133,6 +134,7 @@ ZERO_WIDTH = {
         (0x0a806, 0x0a806,),  # Syloti Nagri Sign Hasanta
         (0x0a80b, 0x0a80b,),  # Syloti Nagri Sign Anusvara
         (0x0a823, 0x0a827,),  # Syloti Nagri Vowel Sign ..Syloti Nagri Vowel Sign
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe23,),  # Combining Ligature Left ..Combining Double Tilde R
@@ -256,6 +258,7 @@ ZERO_WIDTH = {
         (0x0102c, 0x01032,),  # Myanmar Vowel Sign Aa   ..Myanmar Vowel Sign Ai
         (0x01036, 0x01039,),  # Myanmar Sign Anusvara   ..Myanmar Sign Virama
         (0x01056, 0x01059,),  # Myanmar Vowel Sign Vocal..Myanmar Vowel Sign Vocal
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135f, 0x0135f,),  # Ethiopic Combining Gemination Mark
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -286,6 +289,7 @@ ZERO_WIDTH = {
         (0x0a806, 0x0a806,),  # Syloti Nagri Sign Hasanta
         (0x0a80b, 0x0a80b,),  # Syloti Nagri Sign Anusvara
         (0x0a823, 0x0a827,),  # Syloti Nagri Vowel Sign ..Syloti Nagri Vowel Sign
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe23,),  # Combining Ligature Left ..Combining Double Tilde R
@@ -418,6 +422,7 @@ ZERO_WIDTH = {
         (0x01071, 0x01074,),  # Myanmar Vowel Sign Geba ..Myanmar Vowel Sign Kayah
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135f, 0x0135f,),  # Ethiopic Combining Gemination Mark
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -461,6 +466,7 @@ ZERO_WIDTH = {
         (0x0aa29, 0x0aa36,),  # Cham Vowel Sign Aa      ..Cham Consonant Sign Wa
         (0x0aa43, 0x0aa43,),  # Cham Consonant Sign Final Ng
         (0x0aa4c, 0x0aa4d,),  # Cham Consonant Sign Fina..Cham Consonant Sign Fina
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe26,),  # Combining Ligature Left ..Combining Conjoining Mac
@@ -599,6 +605,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135f, 0x0135f,),  # Ethiopic Combining Gemination Mark
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -662,6 +669,7 @@ ZERO_WIDTH = {
         (0x0aac1, 0x0aac1,),  # Tai Viet Tone Mai Tho
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe26,),  # Combining Ligature Left ..Combining Conjoining Mac
@@ -805,6 +813,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -870,6 +879,7 @@ ZERO_WIDTH = {
         (0x0aac1, 0x0aac1,),  # Tai Viet Tone Mai Tho
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe26,),  # Combining Ligature Left ..Combining Conjoining Mac
@@ -1016,6 +1026,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -1084,6 +1095,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe26,),  # Combining Ligature Left ..Combining Conjoining Mac
@@ -1237,6 +1249,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -1305,6 +1318,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe26,),  # Combining Ligature Left ..Combining Conjoining Mac
@@ -1459,6 +1473,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -1527,6 +1542,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe26,),  # Combining Ligature Left ..Combining Conjoining Mac
@@ -1680,6 +1696,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -1751,6 +1768,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2d,),  # Combining Ligature Left ..Combining Conjoining Mac
@@ -1928,6 +1946,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -1997,6 +2016,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -2184,6 +2204,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -2254,6 +2275,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -2455,6 +2477,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -2525,6 +2548,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -2739,6 +2763,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -2810,6 +2835,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -3033,6 +3059,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -3104,6 +3131,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -3334,6 +3362,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -3405,6 +3434,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -3635,6 +3665,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01714,),  # Tagalog Vowel Sign I    ..Tagalog Sign Virama
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -3707,6 +3738,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -3949,6 +3981,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01715,),  # Tagalog Vowel Sign I    ..Tagalog Sign Pamudpod
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -4020,6 +4053,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -4270,6 +4304,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01715,),  # Tagalog Vowel Sign I    ..Tagalog Sign Pamudpod
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -4341,6 +4376,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
@@ -4600,6 +4636,7 @@ ZERO_WIDTH = {
         (0x01082, 0x0108d,),  # Myanmar Consonant Sign S..Myanmar Sign Shan Counci
         (0x0108f, 0x0108f,),  # Myanmar Sign Rumai Palaung Tone-5
         (0x0109a, 0x0109d,),  # Myanmar Sign Khamti Tone..Myanmar Vowel Sign Aiton
+        (0x01160, 0x011ff,),  # Hangul Jungseong Filler ..Hangul Jongseong Ssangni
         (0x0135d, 0x0135f,),  # Ethiopic Combining Gemin..Ethiopic Combining Gemin
         (0x01712, 0x01715,),  # Tagalog Vowel Sign I    ..Tagalog Sign Pamudpod
         (0x01732, 0x01734,),  # Hanunoo Vowel Sign I    ..Hanunoo Sign Pamudpod
@@ -4671,6 +4708,7 @@ ZERO_WIDTH = {
         (0x0aaf5, 0x0aaf6,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Virama
         (0x0abe3, 0x0abea,),  # Meetei Mayek Vowel Sign ..Meetei Mayek Vowel Sign
         (0x0abec, 0x0abed,),  # Meetei Mayek Lum Iyek   ..Meetei Mayek Apun Iyek
+        (0x0d7b0, 0x0d7ff,),  # Hangul Jungseong O-yeo  ..(nil)
         (0x0fb1e, 0x0fb1e,),  # Hebrew Point Judeo-spanish Varika
         (0x0fe00, 0x0fe0f,),  # Variation Selector-1    ..Variation Selector-16
         (0x0fe20, 0x0fe2f,),  # Combining Ligature Left ..Combining Cyrillic Titlo
diff --git a/contrib/python/wcwidth/py3/wcwidth/wcwidth.py b/contrib/python/wcwidth/py3/wcwidth/wcwidth.py
index 59eb5c0806..e924020630 100644
--- a/contrib/python/wcwidth/py3/wcwidth/wcwidth.py
+++ b/contrib/python/wcwidth/py3/wcwidth/wcwidth.py
@@ -162,8 +162,11 @@ def wcswidth(pwcs, n=None, unicode_version='auto'):
     Given a unicode string, return its printable length on a terminal.
 
     :param str pwcs: Measure width of given unicode string.
-    :param int n: When ``n`` is None (default), return the length of the
-        entire string, otherwise width the first ``n`` characters specified.
+    :param int n: When ``n`` is None (default), return the length of the entire
+        string, otherwise only the first ``n`` characters are measured. This
+        argument exists only for compatibility with the C POSIX function
+        signature. It is suggested instead to use python's string slicing
+        capability, ``wcswidth(pwcs[:n])``
     :param str unicode_version: An explicit definition of the unicode version
         level to use for determination, may be ``auto`` (default), which uses
         the Environment Variable, ``UNICODE_VERSION`` if defined, or the latest
diff --git a/contrib/python/wcwidth/py3/ya.make b/contrib/python/wcwidth/py3/ya.make
index 4ea781ee14..6d2ab552d8 100644
--- a/contrib/python/wcwidth/py3/ya.make
+++ b/contrib/python/wcwidth/py3/ya.make
@@ -2,7 +2,7 @@
 
 PY3_LIBRARY()
 
-VERSION(0.2.12)
+VERSION(0.2.13)
 
 LICENSE(MIT)
 
-- 
cgit v1.2.3