diff --git a/CHANGELOG.md b/CHANGELOG.md index bdd4f15974..6a49128015 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,11 +5,9 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [14.3.3] - 2026-02-19 +## [14.3.4] - 2026-02-20 -### Fixed - -- Fixed infinite loop with `cells.split_graphemes` https://github.com/Textualize/rich/pull/4006 +- Fixed width of more emojis and languages with new runtime module dependency wcwidth, https://github.com/Textualize/rich/pull/3956 ## [14.3.2] - 2026-02-01 diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 4d77a0e3ed..64ef622e98 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -100,3 +100,4 @@ The following people have contributed to the development of Rich: - [Brandon Capener](https://github.com/bcapener) - [Alex Zheng](https://github.com/alexzheng111) - [Sebastian Speitel](https://github.com/SebastianSpeitel) +- [Jeff Quast](https://github.com/jquast) diff --git a/FAQ.md b/FAQ.md index d5377fb823..f40f2274d4 100644 --- a/FAQ.md +++ b/FAQ.md @@ -100,13 +100,9 @@ See the docs on [console markup](https://rich.readthedocs.io/en/latest/markup.ht ## Why does emoji break alignment in a Table or Panel? -Certain emoji take up double space within the terminal. Unfortunately, terminals don't always agree how wide a given character should be. +Rich uses python wcwidth for character width measurement, which follows a [specification](https://wcwidth.readthedocs.io/en/latest/specs.html) that includes support for complex emoji and languages (grapheme clustering). -Rich has no way of knowing how wide a character will be on any given terminal. This can break alignment in containers like Table and Panel, where Rich needs to know the width of the content. - -There are also *multiple codepoints* characters, such as country flags, and emoji modifiers, which produce wildly different results across terminal emulators. - -Fortunately, most characters will work just fine. But you may have to avoid using the emojis that break alignment. You will get good results if you stick to emoji released on or before version 9 of the Unicode database, +Although *all* terminals do not fully support complex emoji, Rich support matches the correct presentation of many actively developed terminal emulators, tabulated and reported as [ucs-detect results](https://ucs-detect.readthedocs.io/results.html).
diff --git a/examples/emoji.py b/examples/emoji.py new file mode 100644 index 0000000000..deb7c99320 --- /dev/null +++ b/examples/emoji.py @@ -0,0 +1,80 @@ +""" +Demonstrates emoji, grapheme clusters, complex language text +""" +from rich.console import Console +from rich.panel import Panel +from rich.table import Table + +def main(): + console = Console() + + table = Table(title="Emoji & Grapheme Clusters") + table.add_column("Type", style="cyan") + table.add_column("Example", justify="center") + table.add_column("Codepoints", style="dim") + # all emojis are written with \uEscapes because editors also have a hard time + table.add_row( + "ZWJ Family", + "\U0001F468\u200D\U0001F469\u200D\U0001F467\u200D\U0001F466", + "4 emoji + 3 ZWJ", + ) + table.add_row("Skin Tone", "\U0001F44B\U0001F3FD", "wave + modifier") + table.add_row( + "Flags", + "\U0001F1E8\U0001F1E6 \U0001F1EC\U0001F1E7 \U0001F1EF\U0001F1F5", + "regional indicators", + ) + table.add_row( + "VS16 Emoji", "\u2764\uFE0F \u2728 \u267B\uFE0F \u2615", "with variation selectors" + ) + table.add_row( + "Keycap", "1\uFE0F\u20E3 2\uFE0F\u20E3 #\uFE0F\u20E3", "digit + VS16 + combining" + ) + table.add_row("Combining", "e\u0301 n\u0303 u\u0308", "base + combining accent") + table.add_row("CJK", "\u5bcc\u58eb\u5c71 \u6771\u4eac", "wide characters") + table.add_row( + "Standalone Skin Tone", "\U0001F3FB \U0001F3FD \U0001F3FF", "modifiers without base" + ) + table.add_row( + "Standalone Regional", "\U0001F1E8 \U0001F1E6", "unpaired indicators" + ) + + + console.print(table, justify="center") + console.print() + + # Complex scripts with combining marks, zero-width characters, or stacking + # (first lines from UDHR Article 1) https://github.com/eric-muller/udhr + text = ( + "[bold]Complex Scripts (UDHR Article 1)[/]\n\n" + # Arabic: RTL, combining vowel marks (harakat) + "[cyan]Arabic:[/] \u064A\u0648\u0644\u062F \u062C\u0645\u064A\u0639" + " \u0627\u0644\u0646\u0627\u0633 \u0623\u062D\u0631\u0627\u0631\u0627\n" + # Hindi (Devanagari): combining vowel signs, virama conjuncts + "[cyan]Hindi:[/] \u0938\u092D\u0940 \u092E\u0928\u0941\u0937\u094D\u092F\u094B\u0902" + " \u0915\u094B \u0917\u094C\u0930\u0935 \u0914\u0930" + " \u0905\u0927\u093F\u0915\u093E\u0930\u094B\u0902\n" + # Thai: above/below combining vowels and tone marks + "[cyan]Thai:[/] \u0E21\u0E19\u0E38\u0E29\u0E22\u0E4C\u0E17\u0E31\u0E49\u0E07" + "\u0E2B\u0E25\u0E32\u0E22\u0E40\u0E01\u0E34\u0E14\u0E21\u0E32\n" + # Tibetan: stacked consonants, subjoined letters + "[cyan]Tibetan:[/] \u0F66\u0F90\u0FB1\u0F7A\u0F0B\u0F56\u0F7C\u0F0B" + "\u0F58\u0F72\u0F0B\u0F62\u0F72\u0F42\u0F66\u0F0B\u0F40\u0F72\n" + # Sinhala: round/curvy script, virama conjuncts + "[cyan]Sinhala:[/] \u0DC3\u0DD2\u0DBA\u0DBD\u0DD4 \u0DB8\u0DB1\u0DD4" + "\u0DC2\u0DCA\u200D\u0DBA\u0DBA\u0DB1\u0DCA\n" + # Hebrew: RTL, combining niqqud vowel points + "[cyan]Hebrew:[/] \u05DB\u05BC\u05B8\u05DC\u05BE\u05D1\u05B0\u05E0\u05B5\u05D9" + " \u05D4\u05B8\u05D0\u05B8\u05D3\u05B8\u05DD\n" + # French: decomposed combining accents (ê é) + "[cyan]French:[/] Tous les e\u0302tres humains naissent e\u0301gaux\n" + # Polish: combining ogonek and acute (ą ę ó) + "[cyan]Polish:[/] Wszyscy ludzie rodza\u0328 sie\u0328 ro\u0301wni\n" + # Yoruba: combining tone marks (à é í ò) + "[cyan]Yoruba:[/] Gbogbo e\u0300ni\u0301ya\u0301n la\u0301 a bi ni\u0301" + ) + console.print(Panel(text, title="\U0001F30D Languages", border_style="blue")) + + +if __name__ == "__main__": + main() diff --git a/poetry.lock b/poetry.lock index 0234516312..b3b156db50 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.1.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand. [[package]] name = "appnope" @@ -989,6 +989,7 @@ files = [ {file = "typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c"}, {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"}, ] +markers = {main = "extra == \"jupyter\" and python_version < \"3.10\""} [[package]] name = "virtualenv" @@ -1014,15 +1015,14 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "wcwidth" -version = "0.2.14" +version = "0.5.3" description = "Measures the displayed width of unicode strings in a terminal" -optional = true -python-versions = ">=3.6" +optional = false +python-versions = ">=3.8" groups = ["main"] -markers = "extra == \"jupyter\"" files = [ - {file = "wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1"}, - {file = "wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605"}, + {file = "wcwidth-0.5.3-py3-none-any.whl", hash = "sha256:d584eff31cd4753e1e5ff6c12e1edfdb324c995713f75d26c29807bb84bf649e"}, + {file = "wcwidth-0.5.3.tar.gz", hash = "sha256:53123b7af053c74e9fe2e92ac810301f6139e64379031f7124574212fb3b4091"}, ] [[package]] @@ -1044,4 +1044,4 @@ jupyter = ["ipywidgets"] [metadata] lock-version = "2.1" python-versions = ">=3.8.0" -content-hash = "610597849eb5fb1d82cd5e647d616dd41412674d531c2f7819380bbc9b54e8e2" +content-hash = "ba1a61b9b59e7618059d62a58803047db92f9a6bda38c89f00a711004e2a5590" diff --git a/pyproject.toml b/pyproject.toml index a98f6585d1..82feb2dee4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,7 @@ include = ["rich/py.typed"] [tool.poetry.dependencies] python = ">=3.8.0" pygments = "^2.13.0" +wcwidth = ">=0.5.3" ipywidgets = { version = ">=7.5.1,<9", optional = true } markdown-it-py = ">=2.2.0" diff --git a/questions/emoji_broken.question.md b/questions/emoji_broken.question.md index 44a51921bd..dde88c6aa3 100644 --- a/questions/emoji_broken.question.md +++ b/questions/emoji_broken.question.md @@ -2,10 +2,6 @@ title: "Why does emoji break alignment in a Table or Panel?" --- -Certain emoji take up double space within the terminal. Unfortunately, terminals don't always agree how wide a given character should be. +Rich uses python wcwidth for character width measurement, which follows a [specification](https://wcwidth.readthedocs.io/en/latest/specs.html) that includes support for complex emoji and languages (grapheme clustering). -Rich has no way of knowing how wide a character will be on any given terminal. This can break alignment in containers like Table and Panel, where Rich needs to know the width of the content. - -There are also *multiple codepoints* characters, such as country flags, and emoji modifiers, which produce wildly different results across terminal emulators. - -Fortunately, most characters will work just fine. But you may have to avoid using the emojis that break alignment. You will get good results if you stick to emoji released on or before version 9 of the Unicode database, +Although *all* terminals do not fully support complex emoji, Rich support matches the correct presentation of many actively developed terminal emulators, tabulated and reported as [ucs-detect results](https://ucs-detect.readthedocs.io/results.html). diff --git a/rich/_unicode_data/__init__.py b/rich/_unicode_data/__init__.py deleted file mode 100644 index ce54baef4e..0000000000 --- a/rich/_unicode_data/__init__.py +++ /dev/null @@ -1,93 +0,0 @@ -from __future__ import annotations - -import bisect -import os -import sys - -if sys.version_info[:2] >= (3, 9): - from functools import cache -else: - from functools import lru_cache as cache # pragma: no cover - -from importlib import import_module -from typing import TYPE_CHECKING, cast - -from rich._unicode_data._versions import VERSIONS - -if TYPE_CHECKING: - from rich.cells import CellTable - -VERSION_ORDER = sorted( - [ - tuple( - map(int, version.split(".")), - ) - for version in VERSIONS - ] -) -VERSION_SET = frozenset(VERSIONS) - - -def _parse_version(version: str) -> tuple[int, int, int]: - """Parse a version string into a tuple of 3 integers. - - Args: - version: A version string. - - Raises: - ValueError: If the version string is invalid. - - Returns: - A tuple of 3 integers. - """ - version_integers: tuple[int, ...] - try: - version_integers = tuple( - map(int, version.split(".")), - ) - except ValueError: - raise ValueError( - f"unicode version string {version!r} is badly formatted" - ) from None - while len(version_integers) < 3: - version_integers = version_integers + (0,) - triple = cast("tuple[int, int, int]", version_integers[:3]) - return triple - - -@cache -def load(unicode_version: str = "auto") -> CellTable: - """Load a cell table for the given unicode version. - - Args: - unicode_version: Unicode version, or `None` to auto-detect. - - """ - if unicode_version == "auto": - unicode_version = os.environ.get("UNICODE_VERSION", "latest") - try: - _parse_version(unicode_version) - except ValueError: - # The environment variable is invalid - # Fallback to using the latest version seems reasonable - unicode_version = "latest" - - if unicode_version == "latest": - version = VERSIONS[-1] - else: - try: - version_numbers = _parse_version(unicode_version) - except ValueError: - version_numbers = _parse_version(VERSIONS[-1]) - major, minor, patch = version_numbers - version = f"{major}.{minor}.{patch}" - if version not in VERSION_SET: - insert_position = bisect.bisect_left(VERSION_ORDER, version_numbers) - version = VERSIONS[max(0, insert_position - 1)] - - version_path_component = version.replace(".", "-") - module_name = f".unicode{version_path_component}" - module = import_module(module_name, "rich._unicode_data") - if TYPE_CHECKING: - assert isinstance(module.cell_table, CellTable) - return module.cell_table diff --git a/rich/_unicode_data/_versions.py b/rich/_unicode_data/_versions.py deleted file mode 100644 index be98418d13..0000000000 --- a/rich/_unicode_data/_versions.py +++ /dev/null @@ -1,23 +0,0 @@ -VERSIONS = ( - "4.1.0", - "5.0.0", - "5.1.0", - "5.2.0", - "6.0.0", - "6.1.0", - "6.2.0", - "6.3.0", - "7.0.0", - "8.0.0", - "9.0.0", - "10.0.0", - "11.0.0", - "12.0.0", - "12.1.0", - "13.0.0", - "14.0.0", - "15.0.0", - "15.1.0", - "16.0.0", - "17.0.0", -) diff --git a/rich/_unicode_data/unicode10-0-0.py b/rich/_unicode_data/unicode10-0-0.py deleted file mode 100644 index f318087837..0000000000 --- a/rich/_unicode_data/unicode10-0-0.py +++ /dev/null @@ -1,611 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "10.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2260, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6846, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7412, 0), - (7415, 7417, 0), - (7616, 7673, 0), - (7675, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12590, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70090, 70092, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70460, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94033, 94078, 0), - (94095, 94098, 0), - (94176, 94177, 2), - (94208, 100332, 2), - (100352, 101106, 2), - (110592, 110878, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128747, 128748, 2), - (128756, 128760, 2), - (129296, 129342, 2), - (129344, 129356, 2), - (129360, 129387, 2), - (129408, 129431, 2), - (129472, 129472, 2), - (129488, 129510, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode11-0-0.py b/rich/_unicode_data/unicode11-0-0.py deleted file mode 100644 index 058bb342ca..0000000000 --- a/rich/_unicode_data/unicode11-0-0.py +++ /dev/null @@ -1,625 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "11.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2259, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6846, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7412, 0), - (7415, 7417, 0), - (7616, 7673, 0), - (7675, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (69446, 69456, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94033, 94078, 0), - (94095, 94098, 0), - (94176, 94177, 2), - (94208, 100337, 2), - (100352, 101106, 2), - (110592, 110878, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128747, 128748, 2), - (128756, 128761, 2), - (129296, 129342, 2), - (129344, 129392, 2), - (129395, 129398, 2), - (129402, 129402, 2), - (129404, 129442, 2), - (129456, 129465, 2), - (129472, 129474, 2), - (129488, 129535, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode12-0-0.py b/rich/_unicode_data/unicode12-0-0.py deleted file mode 100644 index 7b0022513d..0000000000 --- a/rich/_unicode_data/unicode12-0-0.py +++ /dev/null @@ -1,637 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "12.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2259, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6846, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7412, 7412, 0), - (7415, 7417, 0), - (7616, 7673, 0), - (7675, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (69446, 69456, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (72145, 72151, 0), - (72154, 72160, 0), - (72164, 72164, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (78896, 78904, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94031, 94031, 0), - (94033, 94087, 0), - (94095, 94098, 0), - (94176, 94179, 2), - (94208, 100343, 2), - (100352, 101106, 2), - (110592, 110878, 2), - (110928, 110930, 2), - (110948, 110951, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (123184, 123190, 0), - (123628, 123631, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128725, 128725, 2), - (128747, 128748, 2), - (128756, 128762, 2), - (128992, 129003, 2), - (129293, 129393, 2), - (129395, 129398, 2), - (129402, 129442, 2), - (129445, 129450, 2), - (129454, 129482, 2), - (129485, 129535, 2), - (129648, 129651, 2), - (129656, 129658, 2), - (129664, 129666, 2), - (129680, 129685, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode12-1-0.py b/rich/_unicode_data/unicode12-1-0.py deleted file mode 100644 index 2dbcf3794e..0000000000 --- a/rich/_unicode_data/unicode12-1-0.py +++ /dev/null @@ -1,636 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "12.1.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2259, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6846, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7412, 7412, 0), - (7415, 7417, 0), - (7616, 7673, 0), - (7675, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (69446, 69456, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (72145, 72151, 0), - (72154, 72160, 0), - (72164, 72164, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (78896, 78904, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94031, 94031, 0), - (94033, 94087, 0), - (94095, 94098, 0), - (94176, 94179, 2), - (94208, 100343, 2), - (100352, 101106, 2), - (110592, 110878, 2), - (110928, 110930, 2), - (110948, 110951, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (123184, 123190, 0), - (123628, 123631, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128725, 128725, 2), - (128747, 128748, 2), - (128756, 128762, 2), - (128992, 129003, 2), - (129293, 129393, 2), - (129395, 129398, 2), - (129402, 129442, 2), - (129445, 129450, 2), - (129454, 129482, 2), - (129485, 129535, 2), - (129648, 129651, 2), - (129656, 129658, 2), - (129664, 129666, 2), - (129680, 129685, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode13-0-0.py b/rich/_unicode_data/unicode13-0-0.py deleted file mode 100644 index 13fbc74b0a..0000000000 --- a/rich/_unicode_data/unicode13-0-0.py +++ /dev/null @@ -1,648 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "13.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2259, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2901, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3457, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6848, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7412, 7412, 0), - (7415, 7417, 0), - (7616, 7673, 0), - (7675, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43052, 43052, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (69291, 69292, 0), - (69446, 69456, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70094, 70095, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (71984, 71989, 0), - (71991, 71992, 0), - (71995, 71998, 0), - (72000, 72000, 0), - (72002, 72003, 0), - (72145, 72151, 0), - (72154, 72160, 0), - (72164, 72164, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (78896, 78904, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94031, 94031, 0), - (94033, 94087, 0), - (94095, 94098, 0), - (94176, 94179, 2), - (94180, 94180, 0), - (94192, 94193, 0), - (94208, 100343, 2), - (100352, 101589, 2), - (101632, 101640, 2), - (110592, 110878, 2), - (110928, 110930, 2), - (110948, 110951, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (123184, 123190, 0), - (123628, 123631, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128725, 128727, 2), - (128747, 128748, 2), - (128756, 128764, 2), - (128992, 129003, 2), - (129292, 129338, 2), - (129340, 129349, 2), - (129351, 129400, 2), - (129402, 129483, 2), - (129485, 129535, 2), - (129648, 129652, 2), - (129656, 129658, 2), - (129664, 129670, 2), - (129680, 129704, 2), - (129712, 129718, 2), - (129728, 129730, 2), - (129744, 129750, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode14-0-0.py b/rich/_unicode_data/unicode14-0-0.py deleted file mode 100644 index 9fa9e29e7f..0000000000 --- a/rich/_unicode_data/unicode14-0-0.py +++ /dev/null @@ -1,661 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "14.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2200, 2207, 0), - (2250, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2901, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3132, 3132, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3457, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5909, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6159, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6862, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7412, 7412, 0), - (7415, 7417, 0), - (7616, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43052, 43052, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (69291, 69292, 0), - (69446, 69456, 0), - (69506, 69509, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69744, 69744, 0), - (69747, 69748, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69826, 69826, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70094, 70095, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (71984, 71989, 0), - (71991, 71992, 0), - (71995, 71998, 0), - (72000, 72000, 0), - (72002, 72003, 0), - (72145, 72151, 0), - (72154, 72160, 0), - (72164, 72164, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (78896, 78904, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94031, 94031, 0), - (94033, 94087, 0), - (94095, 94098, 0), - (94176, 94179, 2), - (94180, 94180, 0), - (94192, 94193, 0), - (94208, 100343, 2), - (100352, 101589, 2), - (101632, 101640, 2), - (110576, 110579, 2), - (110581, 110587, 2), - (110589, 110590, 2), - (110592, 110882, 2), - (110928, 110930, 2), - (110948, 110951, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (118528, 118573, 0), - (118576, 118598, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (123184, 123190, 0), - (123566, 123566, 0), - (123628, 123631, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128725, 128727, 2), - (128733, 128735, 2), - (128747, 128748, 2), - (128756, 128764, 2), - (128992, 129003, 2), - (129008, 129008, 2), - (129292, 129338, 2), - (129340, 129349, 2), - (129351, 129535, 2), - (129648, 129652, 2), - (129656, 129660, 2), - (129664, 129670, 2), - (129680, 129708, 2), - (129712, 129722, 2), - (129728, 129733, 2), - (129744, 129753, 2), - (129760, 129767, 2), - (129776, 129782, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode15-0-0.py b/rich/_unicode_data/unicode15-0-0.py deleted file mode 100644 index 84dd5be936..0000000000 --- a/rich/_unicode_data/unicode15-0-0.py +++ /dev/null @@ -1,671 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "15.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2200, 2207, 0), - (2250, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2901, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3132, 3132, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3315, 3315, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3457, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3772, 0), - (3784, 3790, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5909, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6159, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6862, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7412, 7412, 0), - (7415, 7417, 0), - (7616, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43052, 43052, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (69291, 69292, 0), - (69373, 69375, 0), - (69446, 69456, 0), - (69506, 69509, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69744, 69744, 0), - (69747, 69748, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69826, 69826, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70094, 70095, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70209, 70209, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (71984, 71989, 0), - (71991, 71992, 0), - (71995, 71998, 0), - (72000, 72000, 0), - (72002, 72003, 0), - (72145, 72151, 0), - (72154, 72160, 0), - (72164, 72164, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (73472, 73473, 0), - (73475, 73475, 0), - (73524, 73530, 0), - (73534, 73538, 0), - (78896, 78912, 0), - (78919, 78933, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94031, 94031, 0), - (94033, 94087, 0), - (94095, 94098, 0), - (94176, 94179, 2), - (94180, 94180, 0), - (94192, 94193, 0), - (94208, 100343, 2), - (100352, 101589, 2), - (101632, 101640, 2), - (110576, 110579, 2), - (110581, 110587, 2), - (110589, 110590, 2), - (110592, 110882, 2), - (110898, 110898, 2), - (110928, 110930, 2), - (110933, 110933, 2), - (110948, 110951, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (118528, 118573, 0), - (118576, 118598, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (123023, 123023, 0), - (123184, 123190, 0), - (123566, 123566, 0), - (123628, 123631, 0), - (124140, 124143, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128725, 128727, 2), - (128732, 128735, 2), - (128747, 128748, 2), - (128756, 128764, 2), - (128992, 129003, 2), - (129008, 129008, 2), - (129292, 129338, 2), - (129340, 129349, 2), - (129351, 129535, 2), - (129648, 129660, 2), - (129664, 129672, 2), - (129680, 129725, 2), - (129727, 129733, 2), - (129742, 129755, 2), - (129760, 129768, 2), - (129776, 129784, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode15-1-0.py b/rich/_unicode_data/unicode15-1-0.py deleted file mode 100644 index aa9f2c3e31..0000000000 --- a/rich/_unicode_data/unicode15-1-0.py +++ /dev/null @@ -1,670 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "15.1.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2200, 2207, 0), - (2250, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2901, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3132, 3132, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3315, 3315, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3457, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3772, 0), - (3784, 3790, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5909, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6159, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6862, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7412, 7412, 0), - (7415, 7417, 0), - (7616, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12771, 2), - (12783, 12830, 2), - (12832, 12871, 2), - (12880, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43052, 43052, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (69291, 69292, 0), - (69373, 69375, 0), - (69446, 69456, 0), - (69506, 69509, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69744, 69744, 0), - (69747, 69748, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69826, 69826, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70094, 70095, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70209, 70209, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (71984, 71989, 0), - (71991, 71992, 0), - (71995, 71998, 0), - (72000, 72000, 0), - (72002, 72003, 0), - (72145, 72151, 0), - (72154, 72160, 0), - (72164, 72164, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (73472, 73473, 0), - (73475, 73475, 0), - (73524, 73530, 0), - (73534, 73538, 0), - (78896, 78912, 0), - (78919, 78933, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94031, 94031, 0), - (94033, 94087, 0), - (94095, 94098, 0), - (94176, 94179, 2), - (94180, 94180, 0), - (94192, 94193, 0), - (94208, 100343, 2), - (100352, 101589, 2), - (101632, 101640, 2), - (110576, 110579, 2), - (110581, 110587, 2), - (110589, 110590, 2), - (110592, 110882, 2), - (110898, 110898, 2), - (110928, 110930, 2), - (110933, 110933, 2), - (110948, 110951, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (118528, 118573, 0), - (118576, 118598, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (123023, 123023, 0), - (123184, 123190, 0), - (123566, 123566, 0), - (123628, 123631, 0), - (124140, 124143, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128725, 128727, 2), - (128732, 128735, 2), - (128747, 128748, 2), - (128756, 128764, 2), - (128992, 129003, 2), - (129008, 129008, 2), - (129292, 129338, 2), - (129340, 129349, 2), - (129351, 129535, 2), - (129648, 129660, 2), - (129664, 129672, 2), - (129680, 129725, 2), - (129727, 129733, 2), - (129742, 129755, 2), - (129760, 129768, 2), - (129776, 129784, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode16-0-0.py b/rich/_unicode_data/unicode16-0-0.py deleted file mode 100644 index b3fe2359df..0000000000 --- a/rich/_unicode_data/unicode16-0-0.py +++ /dev/null @@ -1,683 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "16.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2199, 2207, 0), - (2250, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2901, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3132, 3132, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3315, 3315, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3457, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3772, 0), - (3784, 3790, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5909, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6159, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6862, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7412, 7412, 0), - (7415, 7417, 0), - (7616, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9776, 9783, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9866, 9871, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12773, 2), - (12783, 12830, 2), - (12832, 12871, 2), - (12880, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43052, 43052, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (68969, 68973, 0), - (69291, 69292, 0), - (69372, 69375, 0), - (69446, 69456, 0), - (69506, 69509, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69744, 69744, 0), - (69747, 69748, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69826, 69826, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70094, 70095, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70209, 70209, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70584, 70592, 0), - (70594, 70594, 0), - (70597, 70597, 0), - (70599, 70602, 0), - (70604, 70608, 0), - (70610, 70610, 0), - (70625, 70626, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (71984, 71989, 0), - (71991, 71992, 0), - (71995, 71998, 0), - (72000, 72000, 0), - (72002, 72003, 0), - (72145, 72151, 0), - (72154, 72160, 0), - (72164, 72164, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (73472, 73473, 0), - (73475, 73475, 0), - (73524, 73530, 0), - (73534, 73538, 0), - (73562, 73562, 0), - (78896, 78912, 0), - (78919, 78933, 0), - (90398, 90415, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94031, 94031, 0), - (94033, 94087, 0), - (94095, 94098, 0), - (94176, 94179, 2), - (94180, 94180, 0), - (94192, 94193, 0), - (94208, 100343, 2), - (100352, 101589, 2), - (101631, 101640, 2), - (110576, 110579, 2), - (110581, 110587, 2), - (110589, 110590, 2), - (110592, 110882, 2), - (110898, 110898, 2), - (110928, 110930, 2), - (110933, 110933, 2), - (110948, 110951, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (118528, 118573, 0), - (118576, 118598, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (119552, 119638, 2), - (119648, 119670, 2), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (123023, 123023, 0), - (123184, 123190, 0), - (123566, 123566, 0), - (123628, 123631, 0), - (124140, 124143, 0), - (124398, 124399, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128725, 128727, 2), - (128732, 128735, 2), - (128747, 128748, 2), - (128756, 128764, 2), - (128992, 129003, 2), - (129008, 129008, 2), - (129292, 129338, 2), - (129340, 129349, 2), - (129351, 129535, 2), - (129648, 129660, 2), - (129664, 129673, 2), - (129679, 129734, 2), - (129742, 129756, 2), - (129759, 129769, 2), - (129776, 129784, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode17-0-0.py b/rich/_unicode_data/unicode17-0-0.py deleted file mode 100644 index 4108bb44de..0000000000 --- a/rich/_unicode_data/unicode17-0-0.py +++ /dev/null @@ -1,691 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "17.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2045, 2045, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2199, 2207, 0), - (2250, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2558, 2558, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2810, 2815, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2901, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3076, 0), - (3132, 3132, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3315, 3315, 0), - (3328, 3331, 0), - (3387, 3388, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3457, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3772, 0), - (3784, 3790, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5909, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6159, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6877, 0), - (6880, 6891, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7412, 7412, 0), - (7415, 7417, 0), - (7616, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9776, 9783, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9866, 9871, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12591, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12773, 2), - (12783, 12830, 2), - (12832, 12871, 2), - (12880, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43052, 43052, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43263, 43263, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (68900, 68903, 0), - (68969, 68973, 0), - (69291, 69292, 0), - (69370, 69375, 0), - (69446, 69456, 0), - (69506, 69509, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69744, 69744, 0), - (69747, 69748, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69826, 69826, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (69957, 69958, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70089, 70092, 0), - (70094, 70095, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70209, 70209, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70459, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70584, 70592, 0), - (70594, 70594, 0), - (70597, 70597, 0), - (70599, 70602, 0), - (70604, 70608, 0), - (70610, 70610, 0), - (70625, 70626, 0), - (70709, 70726, 0), - (70750, 70750, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (71724, 71738, 0), - (71984, 71989, 0), - (71991, 71992, 0), - (71995, 71998, 0), - (72000, 72000, 0), - (72002, 72003, 0), - (72145, 72151, 0), - (72154, 72160, 0), - (72164, 72164, 0), - (72193, 72202, 0), - (72243, 72249, 0), - (72251, 72254, 0), - (72263, 72263, 0), - (72273, 72283, 0), - (72330, 72345, 0), - (72544, 72551, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (73009, 73014, 0), - (73018, 73018, 0), - (73020, 73021, 0), - (73023, 73029, 0), - (73031, 73031, 0), - (73098, 73102, 0), - (73104, 73105, 0), - (73107, 73111, 0), - (73459, 73462, 0), - (73472, 73473, 0), - (73475, 73475, 0), - (73524, 73530, 0), - (73534, 73538, 0), - (73562, 73562, 0), - (78896, 78912, 0), - (78919, 78933, 0), - (90398, 90415, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94031, 94031, 0), - (94033, 94087, 0), - (94095, 94098, 0), - (94176, 94179, 2), - (94180, 94180, 0), - (94192, 94193, 0), - (94194, 94198, 2), - (94208, 101589, 2), - (101631, 101662, 2), - (101760, 101874, 2), - (110576, 110579, 2), - (110581, 110587, 2), - (110589, 110590, 2), - (110592, 110882, 2), - (110898, 110898, 2), - (110928, 110930, 2), - (110933, 110933, 2), - (110948, 110951, 2), - (110960, 111355, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (118528, 118573, 0), - (118576, 118598, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (119552, 119638, 2), - (119648, 119670, 2), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (123023, 123023, 0), - (123184, 123190, 0), - (123566, 123566, 0), - (123628, 123631, 0), - (124140, 124143, 0), - (124398, 124399, 0), - (124643, 124643, 0), - (124646, 124646, 0), - (124654, 124655, 0), - (124661, 124661, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127584, 127589, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128725, 128728, 2), - (128732, 128735, 2), - (128747, 128748, 2), - (128756, 128764, 2), - (128992, 129003, 2), - (129008, 129008, 2), - (129292, 129338, 2), - (129340, 129349, 2), - (129351, 129535, 2), - (129648, 129660, 2), - (129664, 129674, 2), - (129678, 129734, 2), - (129736, 129736, 2), - (129741, 129756, 2), - (129759, 129770, 2), - (129775, 129784, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode4-1-0.py b/rich/_unicode_data/unicode4-1-0.py deleted file mode 100644 index 23ff5cf1d0..0000000000 --- a/rich/_unicode_data/unicode4-1-0.py +++ /dev/null @@ -1,425 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "4.1.0", - [ - (0, 8, 0), - (14, 31, 0), - (127, 132, 0), - (134, 159, 0), - (768, 879, 0), - (1155, 1158, 0), - (1160, 1161, 0), - (1425, 1465, 0), - (1467, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1539, 0), - (1552, 1557, 0), - (1611, 1630, 0), - (1648, 1648, 0), - (1750, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2305, 2307, 0), - (2364, 2364, 0), - (2366, 2381, 0), - (2385, 2388, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2672, 2673, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2883, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3073, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3202, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3330, 3331, 0), - (3390, 3395, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3984, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4140, 4146, 0), - (4150, 4153, 0), - (4182, 4185, 0), - (4352, 4441, 2), - (4447, 4447, 2), - (4448, 4607, 0), - (4959, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6157, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (7616, 7619, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8427, 0), - (9001, 9002, 2), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12588, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12727, 2), - (12736, 12751, 2), - (12784, 12830, 2), - (12832, 12867, 2), - (12880, 13054, 2), - (13056, 19893, 2), - (19968, 40891, 2), - (40960, 42124, 2), - (42128, 42182, 2), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (44032, 55203, 2), - (55216, 57343, 0), - (63744, 64045, 2), - (64048, 64106, 2), - (64112, 64217, 2), - (64286, 64286, 0), - (64976, 65007, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65059, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (65534, 65535, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (131070, 131071, 0), - (131072, 196605, 2), - (196606, 196607, 0), - (196608, 262141, 2), - (262142, 262143, 0), - (327678, 327679, 0), - (393214, 393215, 0), - (458750, 458751, 0), - (524286, 524287, 0), - (589822, 589823, 0), - (655358, 655359, 0), - (720894, 720895, 0), - (786430, 786431, 0), - (851966, 851967, 0), - (917502, 921599, 0), - (983038, 983039, 0), - (1048574, 1048575, 0), - (1114110, 1114111, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode5-0-0.py b/rich/_unicode_data/unicode5-0-0.py deleted file mode 100644 index 599fb78570..0000000000 --- a/rich/_unicode_data/unicode5-0-0.py +++ /dev/null @@ -1,430 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "5.0.0", - [ - (0, 8, 0), - (14, 31, 0), - (127, 132, 0), - (134, 159, 0), - (768, 879, 0), - (1155, 1158, 0), - (1160, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1539, 0), - (1552, 1557, 0), - (1611, 1630, 0), - (1648, 1648, 0), - (1750, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2305, 2307, 0), - (2364, 2364, 0), - (2366, 2381, 0), - (2385, 2388, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2672, 2673, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2883, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3073, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3202, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3330, 3331, 0), - (3390, 3395, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3984, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4140, 4146, 0), - (4150, 4153, 0), - (4182, 4185, 0), - (4352, 4441, 2), - (4447, 4447, 2), - (4448, 4607, 0), - (4959, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6157, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7616, 7626, 0), - (7678, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8431, 0), - (9001, 9002, 2), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12588, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12727, 2), - (12736, 12751, 2), - (12784, 12830, 2), - (12832, 12867, 2), - (12880, 13054, 2), - (13056, 19893, 2), - (19968, 40891, 2), - (40960, 42124, 2), - (42128, 42182, 2), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (44032, 55203, 2), - (55216, 57343, 0), - (63744, 64045, 2), - (64048, 64106, 2), - (64112, 64217, 2), - (64286, 64286, 0), - (64976, 65007, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65059, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (65534, 65535, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (131070, 131071, 0), - (131072, 196605, 2), - (196606, 196607, 0), - (196608, 262141, 2), - (262142, 262143, 0), - (327678, 327679, 0), - (393214, 393215, 0), - (458750, 458751, 0), - (524286, 524287, 0), - (589822, 589823, 0), - (655358, 655359, 0), - (720894, 720895, 0), - (786430, 786431, 0), - (851966, 851967, 0), - (917502, 921599, 0), - (983038, 983039, 0), - (1048574, 1048575, 0), - (1114110, 1114111, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode5-1-0.py b/rich/_unicode_data/unicode5-1-0.py deleted file mode 100644 index 016e7825ec..0000000000 --- a/rich/_unicode_data/unicode5-1-0.py +++ /dev/null @@ -1,433 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "5.1.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1539, 0), - (1552, 1562, 0), - (1611, 1630, 0), - (1648, 1648, 0), - (1750, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2305, 2307, 0), - (2364, 2364, 0), - (2366, 2381, 0), - (2385, 2388, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3073, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3202, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3330, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3984, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4352, 4441, 2), - (4447, 4447, 2), - (4448, 4607, 0), - (4959, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6157, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7082, 0), - (7204, 7223, 0), - (7616, 7654, 0), - (7678, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (9001, 9002, 2), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12727, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12867, 2), - (12880, 13054, 2), - (13056, 19893, 2), - (19968, 40899, 2), - (40960, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42620, 42621, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43204, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64045, 2), - (64048, 64106, 2), - (64112, 64217, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65062, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode5-2-0.py b/rich/_unicode_data/unicode5-2-0.py deleted file mode 100644 index e984f12e95..0000000000 --- a/rich/_unicode_data/unicode5-2-0.py +++ /dev/null @@ -1,461 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "5.2.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1539, 0), - (1552, 1562, 0), - (1611, 1630, 0), - (1648, 1648, 0), - (1750, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2304, 2307, 0), - (2364, 2364, 0), - (2366, 2382, 0), - (2385, 2389, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3073, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3202, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3330, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3984, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4959, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6157, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7082, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7410, 0), - (7616, 7654, 0), - (7677, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (9001, 9002, 2), - (11503, 11505, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12727, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42620, 42621, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43204, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43643, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65062, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (69760, 69762, 0), - (69808, 69818, 0), - (69821, 69821, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (127488, 127488, 2), - (127504, 127537, 2), - (127552, 127560, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode6-0-0.py b/rich/_unicode_data/unicode6-0-0.py deleted file mode 100644 index 8d5abb455c..0000000000 --- a/rich/_unicode_data/unicode6-0-0.py +++ /dev/null @@ -1,469 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "6.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1539, 0), - (1552, 1562, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1757, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2304, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3073, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3202, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3330, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6157, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7082, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7410, 0), - (7616, 7654, 0), - (7676, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (9001, 9002, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42620, 42621, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43204, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43643, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65062, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69760, 69762, 0), - (69808, 69818, 0), - (69821, 69821, 0), - (110592, 110593, 2), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (127488, 127490, 2), - (127504, 127546, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode6-1-0.py b/rich/_unicode_data/unicode6-1-0.py deleted file mode 100644 index 29d3e92988..0000000000 --- a/rich/_unicode_data/unicode6-1-0.py +++ /dev/null @@ -1,480 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "6.1.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1540, 0), - (1552, 1562, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1757, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2276, 2302, 0), - (2304, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3073, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3202, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3330, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6157, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7412, 0), - (7616, 7654, 0), - (7676, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (9001, 9002, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42655, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43204, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43643, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65062, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69760, 69762, 0), - (69808, 69818, 0), - (69821, 69821, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (71339, 71351, 0), - (94033, 94078, 0), - (94095, 94098, 0), - (110592, 110593, 2), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (127488, 127490, 2), - (127504, 127546, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode6-2-0.py b/rich/_unicode_data/unicode6-2-0.py deleted file mode 100644 index d0cda351a4..0000000000 --- a/rich/_unicode_data/unicode6-2-0.py +++ /dev/null @@ -1,480 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "6.2.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1540, 0), - (1552, 1562, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1757, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2276, 2302, 0), - (2304, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3073, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3202, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3330, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6157, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7412, 0), - (7616, 7654, 0), - (7676, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (9001, 9002, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42655, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43204, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43643, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65062, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69760, 69762, 0), - (69808, 69818, 0), - (69821, 69821, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (71339, 71351, 0), - (94033, 94078, 0), - (94095, 94098, 0), - (110592, 110593, 2), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (127488, 127490, 2), - (127504, 127546, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode6-3-0.py b/rich/_unicode_data/unicode6-3-0.py deleted file mode 100644 index cffb7ee942..0000000000 --- a/rich/_unicode_data/unicode6-3-0.py +++ /dev/null @@ -1,481 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "6.3.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1540, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1757, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2276, 2302, 0), - (2304, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3073, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3202, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3330, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7412, 0), - (7616, 7654, 0), - (7676, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (9001, 9002, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42655, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43204, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43643, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65062, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69760, 69762, 0), - (69808, 69818, 0), - (69821, 69821, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (71339, 71351, 0), - (94033, 94078, 0), - (94095, 94098, 0), - (110592, 110593, 2), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (127488, 127490, 2), - (127504, 127546, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode7-0-0.py b/rich/_unicode_data/unicode7-0-0.py deleted file mode 100644 index 996478ac24..0000000000 --- a/rich/_unicode_data/unicode7-0-0.py +++ /dev/null @@ -1,507 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "7.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1541, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1757, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2276, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3329, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6576, 6592, 0), - (6600, 6601, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6846, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7412, 0), - (7416, 7417, 0), - (7616, 7669, 0), - (7676, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (9001, 9002, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42655, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43204, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65069, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69821, 69821, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70188, 70199, 0), - (70367, 70378, 0), - (70401, 70403, 0), - (70460, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94033, 94078, 0), - (94095, 94098, 0), - (110592, 110593, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (125136, 125142, 0), - (127488, 127490, 2), - (127504, 127546, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode8-0-0.py b/rich/_unicode_data/unicode8-0-0.py deleted file mode 100644 index ae34a382a6..0000000000 --- a/rich/_unicode_data/unicode8-0-0.py +++ /dev/null @@ -1,515 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "8.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1536, 1541, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1757, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1807, 1807, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3329, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6846, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7412, 0), - (7416, 7417, 0), - (7616, 7669, 0), - (7676, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (9001, 9002, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43204, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69821, 69821, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70090, 70092, 0), - (70188, 70199, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70460, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94033, 94078, 0), - (94095, 94098, 0), - (110592, 110593, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (125136, 125142, 0), - (127488, 127490, 2), - (127504, 127546, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127995, 127999, 0), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/_unicode_data/unicode9-0-0.py b/rich/_unicode_data/unicode9-0-0.py deleted file mode 100644 index b15f67d44e..0000000000 --- a/rich/_unicode_data/unicode9-0-0.py +++ /dev/null @@ -1,598 +0,0 @@ -# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable( - "9.0.0", - [ - (0, 0, 0), - (768, 879, 0), - (1155, 1161, 0), - (1425, 1469, 0), - (1471, 1471, 0), - (1473, 1474, 0), - (1476, 1477, 0), - (1479, 1479, 0), - (1552, 1562, 0), - (1564, 1564, 0), - (1611, 1631, 0), - (1648, 1648, 0), - (1750, 1756, 0), - (1759, 1764, 0), - (1767, 1768, 0), - (1770, 1773, 0), - (1809, 1809, 0), - (1840, 1866, 0), - (1958, 1968, 0), - (2027, 2035, 0), - (2070, 2073, 0), - (2075, 2083, 0), - (2085, 2087, 0), - (2089, 2093, 0), - (2137, 2139, 0), - (2260, 2273, 0), - (2275, 2307, 0), - (2362, 2364, 0), - (2366, 2383, 0), - (2385, 2391, 0), - (2402, 2403, 0), - (2433, 2435, 0), - (2492, 2492, 0), - (2494, 2500, 0), - (2503, 2504, 0), - (2507, 2509, 0), - (2519, 2519, 0), - (2530, 2531, 0), - (2561, 2563, 0), - (2620, 2620, 0), - (2622, 2626, 0), - (2631, 2632, 0), - (2635, 2637, 0), - (2641, 2641, 0), - (2672, 2673, 0), - (2677, 2677, 0), - (2689, 2691, 0), - (2748, 2748, 0), - (2750, 2757, 0), - (2759, 2761, 0), - (2763, 2765, 0), - (2786, 2787, 0), - (2817, 2819, 0), - (2876, 2876, 0), - (2878, 2884, 0), - (2887, 2888, 0), - (2891, 2893, 0), - (2902, 2903, 0), - (2914, 2915, 0), - (2946, 2946, 0), - (3006, 3010, 0), - (3014, 3016, 0), - (3018, 3021, 0), - (3031, 3031, 0), - (3072, 3075, 0), - (3134, 3140, 0), - (3142, 3144, 0), - (3146, 3149, 0), - (3157, 3158, 0), - (3170, 3171, 0), - (3201, 3203, 0), - (3260, 3260, 0), - (3262, 3268, 0), - (3270, 3272, 0), - (3274, 3277, 0), - (3285, 3286, 0), - (3298, 3299, 0), - (3329, 3331, 0), - (3390, 3396, 0), - (3398, 3400, 0), - (3402, 3405, 0), - (3415, 3415, 0), - (3426, 3427, 0), - (3458, 3459, 0), - (3530, 3530, 0), - (3535, 3540, 0), - (3542, 3542, 0), - (3544, 3551, 0), - (3570, 3571, 0), - (3633, 3633, 0), - (3636, 3642, 0), - (3655, 3662, 0), - (3761, 3761, 0), - (3764, 3769, 0), - (3771, 3772, 0), - (3784, 3789, 0), - (3864, 3865, 0), - (3893, 3893, 0), - (3895, 3895, 0), - (3897, 3897, 0), - (3902, 3903, 0), - (3953, 3972, 0), - (3974, 3975, 0), - (3981, 3991, 0), - (3993, 4028, 0), - (4038, 4038, 0), - (4139, 4158, 0), - (4182, 4185, 0), - (4190, 4192, 0), - (4194, 4196, 0), - (4199, 4205, 0), - (4209, 4212, 0), - (4226, 4237, 0), - (4239, 4239, 0), - (4250, 4253, 0), - (4352, 4447, 2), - (4448, 4607, 0), - (4957, 4959, 0), - (5906, 5908, 0), - (5938, 5940, 0), - (5970, 5971, 0), - (6002, 6003, 0), - (6068, 6099, 0), - (6109, 6109, 0), - (6155, 6158, 0), - (6277, 6278, 0), - (6313, 6313, 0), - (6432, 6443, 0), - (6448, 6459, 0), - (6679, 6683, 0), - (6741, 6750, 0), - (6752, 6780, 0), - (6783, 6783, 0), - (6832, 6846, 0), - (6912, 6916, 0), - (6964, 6980, 0), - (7019, 7027, 0), - (7040, 7042, 0), - (7073, 7085, 0), - (7142, 7155, 0), - (7204, 7223, 0), - (7376, 7378, 0), - (7380, 7400, 0), - (7405, 7405, 0), - (7410, 7412, 0), - (7416, 7417, 0), - (7616, 7669, 0), - (7675, 7679, 0), - (8203, 8207, 0), - (8232, 8238, 0), - (8288, 8303, 0), - (8400, 8432, 0), - (8986, 8987, 2), - (9001, 9002, 2), - (9193, 9196, 2), - (9200, 9200, 2), - (9203, 9203, 2), - (9725, 9726, 2), - (9748, 9749, 2), - (9800, 9811, 2), - (9855, 9855, 2), - (9875, 9875, 2), - (9889, 9889, 2), - (9898, 9899, 2), - (9917, 9918, 2), - (9924, 9925, 2), - (9934, 9934, 2), - (9940, 9940, 2), - (9962, 9962, 2), - (9970, 9971, 2), - (9973, 9973, 2), - (9978, 9978, 2), - (9981, 9981, 2), - (9989, 9989, 2), - (9994, 9995, 2), - (10024, 10024, 2), - (10060, 10060, 2), - (10062, 10062, 2), - (10067, 10069, 2), - (10071, 10071, 2), - (10133, 10135, 2), - (10160, 10160, 2), - (10175, 10175, 2), - (11035, 11036, 2), - (11088, 11088, 2), - (11093, 11093, 2), - (11503, 11505, 0), - (11647, 11647, 0), - (11744, 11775, 0), - (11904, 11929, 2), - (11931, 12019, 2), - (12032, 12245, 2), - (12272, 12283, 2), - (12288, 12329, 2), - (12330, 12335, 0), - (12336, 12350, 2), - (12353, 12438, 2), - (12441, 12442, 0), - (12443, 12543, 2), - (12549, 12589, 2), - (12593, 12643, 2), - (12644, 12644, 0), - (12645, 12686, 2), - (12688, 12730, 2), - (12736, 12771, 2), - (12784, 12830, 2), - (12832, 12871, 2), - (12880, 13054, 2), - (13056, 19903, 2), - (19968, 42124, 2), - (42128, 42182, 2), - (42607, 42610, 0), - (42612, 42621, 0), - (42654, 42655, 0), - (42736, 42737, 0), - (43010, 43010, 0), - (43014, 43014, 0), - (43019, 43019, 0), - (43043, 43047, 0), - (43136, 43137, 0), - (43188, 43205, 0), - (43232, 43249, 0), - (43302, 43309, 0), - (43335, 43347, 0), - (43360, 43388, 2), - (43392, 43395, 0), - (43443, 43456, 0), - (43493, 43493, 0), - (43561, 43574, 0), - (43587, 43587, 0), - (43596, 43597, 0), - (43643, 43645, 0), - (43696, 43696, 0), - (43698, 43700, 0), - (43703, 43704, 0), - (43710, 43711, 0), - (43713, 43713, 0), - (43755, 43759, 0), - (43765, 43766, 0), - (44003, 44010, 0), - (44012, 44013, 0), - (44032, 55203, 2), - (55216, 55295, 0), - (63744, 64255, 2), - (64286, 64286, 0), - (65024, 65039, 0), - (65040, 65049, 2), - (65056, 65071, 0), - (65072, 65106, 2), - (65108, 65126, 2), - (65128, 65131, 2), - (65279, 65279, 0), - (65281, 65376, 2), - (65440, 65440, 0), - (65504, 65510, 2), - (65520, 65531, 0), - (66045, 66045, 0), - (66272, 66272, 0), - (66422, 66426, 0), - (68097, 68099, 0), - (68101, 68102, 0), - (68108, 68111, 0), - (68152, 68154, 0), - (68159, 68159, 0), - (68325, 68326, 0), - (69632, 69634, 0), - (69688, 69702, 0), - (69759, 69762, 0), - (69808, 69818, 0), - (69888, 69890, 0), - (69927, 69940, 0), - (70003, 70003, 0), - (70016, 70018, 0), - (70067, 70080, 0), - (70090, 70092, 0), - (70188, 70199, 0), - (70206, 70206, 0), - (70367, 70378, 0), - (70400, 70403, 0), - (70460, 70460, 0), - (70462, 70468, 0), - (70471, 70472, 0), - (70475, 70477, 0), - (70487, 70487, 0), - (70498, 70499, 0), - (70502, 70508, 0), - (70512, 70516, 0), - (70709, 70726, 0), - (70832, 70851, 0), - (71087, 71093, 0), - (71096, 71104, 0), - (71132, 71133, 0), - (71216, 71232, 0), - (71339, 71351, 0), - (71453, 71467, 0), - (72751, 72758, 0), - (72760, 72767, 0), - (72850, 72871, 0), - (72873, 72886, 0), - (92912, 92916, 0), - (92976, 92982, 0), - (94033, 94078, 0), - (94095, 94098, 0), - (94176, 94176, 2), - (94208, 100332, 2), - (100352, 101106, 2), - (110592, 110593, 2), - (113821, 113822, 0), - (113824, 113827, 0), - (119141, 119145, 0), - (119149, 119170, 0), - (119173, 119179, 0), - (119210, 119213, 0), - (119362, 119364, 0), - (121344, 121398, 0), - (121403, 121452, 0), - (121461, 121461, 0), - (121476, 121476, 0), - (121499, 121503, 0), - (121505, 121519, 0), - (122880, 122886, 0), - (122888, 122904, 0), - (122907, 122913, 0), - (122915, 122916, 0), - (122918, 122922, 0), - (125136, 125142, 0), - (125252, 125258, 0), - (126980, 126980, 2), - (127183, 127183, 2), - (127374, 127374, 2), - (127377, 127386, 2), - (127488, 127490, 2), - (127504, 127547, 2), - (127552, 127560, 2), - (127568, 127569, 2), - (127744, 127776, 2), - (127789, 127797, 2), - (127799, 127868, 2), - (127870, 127891, 2), - (127904, 127946, 2), - (127951, 127955, 2), - (127968, 127984, 2), - (127988, 127988, 2), - (127992, 127994, 2), - (127995, 127999, 0), - (128000, 128062, 2), - (128064, 128064, 2), - (128066, 128252, 2), - (128255, 128317, 2), - (128331, 128334, 2), - (128336, 128359, 2), - (128378, 128378, 2), - (128405, 128406, 2), - (128420, 128420, 2), - (128507, 128591, 2), - (128640, 128709, 2), - (128716, 128716, 2), - (128720, 128722, 2), - (128747, 128748, 2), - (128756, 128758, 2), - (129296, 129310, 2), - (129312, 129319, 2), - (129328, 129328, 2), - (129331, 129342, 2), - (129344, 129355, 2), - (129360, 129374, 2), - (129408, 129425, 2), - (129472, 129472, 2), - (131072, 196605, 2), - (196608, 262141, 2), - (917504, 921599, 0), - ], - frozenset( - [ - "#", - "*", - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "©", - "®", - "‼", - "⁉", - "™", - "ℹ", - "↔", - "↕", - "↖", - "↗", - "↘", - "↙", - "↩", - "↪", - "⌨", - "⏏", - "⏭", - "⏮", - "⏯", - "⏱", - "⏲", - "⏸", - "⏹", - "⏺", - "Ⓜ", - "▪", - "▫", - "▶", - "◀", - "◻", - "◼", - "☀", - "☁", - "☂", - "☃", - "☄", - "☎", - "☑", - "☘", - "☝", - "☠", - "☢", - "☣", - "☦", - "☪", - "☮", - "☯", - "☸", - "☹", - "☺", - "♀", - "♂", - "♟", - "♠", - "♣", - "♥", - "♦", - "♨", - "♻", - "♾", - "⚒", - "⚔", - "⚕", - "⚖", - "⚗", - "⚙", - "⚛", - "⚜", - "⚠", - "⚧", - "⚰", - "⚱", - "⛈", - "⛏", - "⛑", - "⛓", - "⛩", - "⛰", - "⛱", - "⛴", - "⛷", - "⛸", - "⛹", - "✂", - "✈", - "✉", - "✌", - "✍", - "✏", - "✒", - "✔", - "✖", - "✝", - "✡", - "✳", - "✴", - "❄", - "❇", - "❣", - "❤", - "➡", - "⤴", - "⤵", - "⬅", - "⬆", - "⬇", - "🅰", - "🅱", - "🅾", - "🅿", - "🌡", - "🌤", - "🌥", - "🌦", - "🌧", - "🌨", - "🌩", - "🌪", - "🌫", - "🌬", - "🌶", - "🍽", - "🎖", - "🎗", - "🎙", - "🎚", - "🎛", - "🎞", - "🎟", - "🏋", - "🏌", - "🏍", - "🏎", - "🏔", - "🏕", - "🏖", - "🏗", - "🏘", - "🏙", - "🏚", - "🏛", - "🏜", - "🏝", - "🏞", - "🏟", - "🏳", - "🏵", - "🏷", - "🐿", - "👁", - "📽", - "🕉", - "🕊", - "🕯", - "🕰", - "🕳", - "🕴", - "🕵", - "🕶", - "🕷", - "🕸", - "🕹", - "🖇", - "🖊", - "🖋", - "🖌", - "🖍", - "🖐", - "🖥", - "🖨", - "🖱", - "🖲", - "🖼", - "🗂", - "🗃", - "🗄", - "🗑", - "🗒", - "🗓", - "🗜", - "🗝", - "🗞", - "🗡", - "🗣", - "🗨", - "🗯", - "🗳", - "🗺", - "🛋", - "🛍", - "🛎", - "🛏", - "🛠", - "🛡", - "🛢", - "🛣", - "🛤", - "🛥", - "🛩", - "🛰", - "🛳", - ] - ), -) diff --git a/rich/cells.py b/rich/cells.py index 9d590b04e8..af93d219ec 100644 --- a/rich/cells.py +++ b/rich/cells.py @@ -1,15 +1,13 @@ from __future__ import annotations from functools import lru_cache -from operator import itemgetter -from typing import Callable, NamedTuple, Sequence, Tuple +from typing import Callable, Tuple -from rich._unicode_data import load as load_cell_table +from wcwidth import clip, iter_graphemes, wcwidth +from wcwidth import width as wcwidth_width CellSpan = Tuple[int, int, int] -_span_get_cell_len = itemgetter(2) - # Ranges of unicode ordinals that produce a 1-cell wide character # This is non-exhaustive, but covers most common Western characters _SINGLE_CELL_UNICODE_RANGES: list[tuple[int, int]] = [ @@ -35,14 +33,6 @@ _is_single_cell_widths: Callable[[str], bool] = _SINGLE_CELLS.issuperset -class CellTable(NamedTuple): - """Contains unicode data required to measure the cell widths of glyphs.""" - - unicode_version: str - widths: Sequence[tuple[int, int, int]] - narrow_to_wide: frozenset[str] - - @lru_cache(maxsize=4096) def get_character_cell_size(character: str, unicode_version: str = "auto") -> int: """Get the cell size of a character. @@ -54,28 +44,7 @@ def get_character_cell_size(character: str, unicode_version: str = "auto") -> in Returns: int: Number of cells (0, 1 or 2) occupied by that character. """ - codepoint = ord(character) - if codepoint and codepoint < 32 or 0x07F <= codepoint < 0x0A0: - return 0 - table = load_cell_table(unicode_version).widths - - last_entry = table[-1] - if codepoint > last_entry[1]: - return 1 - - lower_bound = 0 - upper_bound = len(table) - 1 - - while lower_bound <= upper_bound: - index = (lower_bound + upper_bound) >> 1 - start, end, width = table[index] - if codepoint < start: - upper_bound = index - 1 - elif codepoint > end: - lower_bound = index + 1 - else: - return width - return 1 + return max(0, wcwidth(character)) @lru_cache(4096) @@ -124,38 +93,7 @@ def _cell_len(text: str, unicode_version: str) -> int: if _is_single_cell_widths(text): return len(text) - # "\u200d" is zero width joiner - # "\ufe0f" is variation selector 16 - if "\u200d" not in text and "\ufe0f" not in text: - # Simplest case with no unicode stuff that changes the size - return sum( - get_character_cell_size(character, unicode_version) for character in text - ) - - cell_table = load_cell_table(unicode_version) - total_width = 0 - last_measured_character: str | None = None - - SPECIAL = {"\u200d", "\ufe0f"} - - index = 0 - character_count = len(text) - - while index < character_count: - character = text[index] - if character in SPECIAL: - if character == "\u200d": - index += 1 - elif last_measured_character: - total_width += last_measured_character in cell_table.narrow_to_wide - last_measured_character = None - else: - if character_width := get_character_cell_size(character, unicode_version): - last_measured_character = character - total_width += character_width - index += 1 - - return total_width + return wcwidth_width(text, control_codes="ignore") def split_graphemes( @@ -176,63 +114,24 @@ def split_graphemes( and CELL LENGTH is the cell length of the single grapheme. """ - cell_table = load_cell_table(unicode_version) - codepoint_count = len(text) - index = 0 - last_measured_character: str | None = None - total_width = 0 spans: list[tuple[int, int, int]] = [] - SPECIAL = {"\u200d", "\ufe0f"} - while index < codepoint_count: - if (character := text[index]) in SPECIAL: - if not spans: - # ZWJ or variation selector at the beginning of the string doesn't really make sense. - # But handle it, we must. - spans.append((index, index := index + 1, 0)) - continue - if character == "\u200d": - # zero width joiner - # The condition handles the case where a ZWJ is at the end of the string, and has nothing to join - index += 2 if index < (codepoint_count - 1) else 1 - start, _end, cell_length = spans[-1] - spans[-1] = (start, index, cell_length) - else: - # variation selector 16 - index += 1 - if last_measured_character: - start, _end, cell_length = spans[-1] - if last_measured_character in cell_table.narrow_to_wide: - last_measured_character = None - cell_length += 1 - total_width += 1 - spans[-1] = (start, index, cell_length) - else: - # No previous character to change the size of. - # Shouldn't occur in practice. - # But handle it, we must. - start, _end, cell_length = spans[-1] - spans[-1] = (start, index, cell_length) - continue - - if character_width := get_character_cell_size(character, unicode_version): - last_measured_character = character - spans.append((index, index := index + 1, character_width)) - total_width += character_width - else: - # Character has zero width - if spans: - # zero width characters are associated with the previous character + pos = 0 + for grapheme in iter_graphemes(text): + grapheme_len = len(grapheme) + grapheme_width = wcwidth_width(grapheme, control_codes="ignore") + if grapheme_width > 0 or spans: + if grapheme_width > 0: + spans.append((pos, pos + grapheme_len, grapheme_width)) + total_width += grapheme_width + elif spans: start, _end, cell_length = spans[-1] - spans[-1] = (start, index := index + 1, cell_length) - else: - # A zero width character with no prior spans - spans.append((index, index := index + 1, 0)) - + spans[-1] = (start, pos + grapheme_len, cell_length) + pos += grapheme_len return (spans, total_width) -def _split_text( +def split_text( text: str, cell_position: int, unicode_version: str = "auto" ) -> tuple[str, str]: """Split text by cell position. @@ -249,51 +148,12 @@ def _split_text( """ if cell_position <= 0: return "", text - - spans, cell_length = split_graphemes(text, unicode_version) - - # Guess initial offset - offset = int((cell_position / cell_length) * len(spans)) - left_size = sum(map(_span_get_cell_len, spans[:offset])) - - while True: - if left_size == cell_position: - if offset >= len(spans): - return text, "" - split_index = spans[offset][0] - return text[:split_index], text[split_index:] - if left_size < cell_position: - start, end, cell_size = spans[offset] - if left_size + cell_size > cell_position: - return text[:start] + " ", " " + text[end:] - offset += 1 - left_size += cell_size - else: # left_size > cell_position - start, end, cell_size = spans[offset - 1] - if left_size - cell_size < cell_position: - return text[:start] + " ", " " + text[end:] - offset -= 1 - left_size -= cell_size - - -def split_text( - text: str, cell_position: int, unicode_version: str = "auto" -) -> tuple[str, str]: - """Split text by cell position. - - If the cell position falls within a double width character, it is converted to two spaces. - - Args: - text: Text to split. - cell_position Offset in cells. - unicode_version: Unicode version, `"auto"` to auto detect, `"latest"` for the latest unicode version. - - Returns: - Tuple to two split strings. - """ if _is_single_cell_widths(text): return text[:cell_position], text[cell_position:] - return _split_text(text, cell_position, unicode_version) + total = wcwidth_width(text, control_codes="ignore") + left = clip(text, 0, cell_position) + right = clip(text, cell_position, total) + return left, right def set_cell_size(text: str, total: int, unicode_version: str = "auto") -> str: @@ -319,7 +179,7 @@ def set_cell_size(text: str, total: int, unicode_version: str = "auto") -> str: return text if cell_size < total: return text + " " * (total - cell_size) - text, _ = _split_text(text, total, unicode_version) + text, _ = split_text(text, total, unicode_version) return text diff --git a/rich/segment.py b/rich/segment.py index 0df63fdefe..6ec6afad42 100644 --- a/rich/segment.py +++ b/rich/segment.py @@ -20,8 +20,8 @@ _is_single_cell_widths, cached_cell_len, cell_len, - get_character_cell_size, set_cell_size, + split_text, ) from .repr import Result, rich_repr from .style import Style @@ -127,33 +127,11 @@ def _split_cells(cls, segment: "Segment", cut: int) -> Tuple["Segment", "Segment if cut >= cell_length: return segment, _Segment("", style, control) - cell_size = get_character_cell_size - - pos = int((cut / cell_length) * len(text)) - - while True: - before = text[:pos] - cell_pos = cell_len(before) - out_by = cell_pos - cut - if not out_by: - return ( - _Segment(before, style, control), - _Segment(text[pos:], style, control), - ) - if out_by == -1 and cell_size(text[pos]) == 2: - return ( - _Segment(text[:pos] + " ", style, control), - _Segment(" " + text[pos + 1 :], style, control), - ) - if out_by == +1 and cell_size(text[pos - 1]) == 2: - return ( - _Segment(text[: pos - 1] + " ", style, control), - _Segment(" " + text[pos:], style, control), - ) - if cell_pos < cut: - pos += 1 - else: - pos -= 1 + left, right = split_text(text, cut) + return ( + _Segment(left, style, control), + _Segment(right, style, control), + ) def split_cells(self, cut: int) -> Tuple["Segment", "Segment"]: """Split segment in to two segments at the specified column. diff --git a/tests/test_cells.py b/tests/test_cells.py index 0aff1159bf..14d7d53b9d 100644 --- a/tests/test_cells.py +++ b/tests/test_cells.py @@ -252,3 +252,76 @@ def test_non_printable(): for ordinal in range(31): character = chr(ordinal) assert cell_len(character) == 0 + + +CA_FLAG = "\U0001F1E8\U0001F1E6" # 🇨🇦 Canada flag +GB_FLAG = "\U0001F1EC\U0001F1E7" # 🇬🇧 Great Britain flag +FAMILY = "\U0001F468\u200D\U0001F469\u200D\U0001F467" # 👨‍👩‍👧 family ZWJ sequence +WAVE_SKIN = "\U0001F44B\U0001F3FD" # 👋🏽 wave with skin tone +HEART_VS16 = "\u2764\uFE0F" # ❤️ heart with VS-16 + + +@pytest.mark.parametrize( + "text,expected", + [ + (CA_FLAG, 2), + (GB_FLAG, 2), + (CA_FLAG + GB_FLAG, 4), + (FAMILY, 2), + (WAVE_SKIN, 2), + (HEART_VS16, 2), + ("e\u0301", 1), # é combining acute accent + # 👨‍👩‍👧‍👦 family ZWJ sequence (4 members) + ("\U0001F468\u200D\U0001F469\u200D\U0001F467\u200D\U0001F466", 2), + ("\U0001F3FB", 2), # 🏻 skin tone modifier alone + ("\U0001F1E8", 2), # 🇨 single regional indicator alone + ("\uFE0F", 0), # VS-16 variation selector alone + ("\u20E3", 0), # ⃣ combining enclosing keycap alone + ], +) +def test_cell_len_grapheme_clusters(text: str, expected: int) -> None: + assert cell_len(text) == expected + + +@pytest.mark.parametrize( + "text,expected_spans,expected_cell_length", + [ + (CA_FLAG, [(0, 2, 2)], 2), + (CA_FLAG + GB_FLAG, [(0, 2, 2), (2, 4, 2)], 4), + (WAVE_SKIN, [(0, 2, 2)], 2), + ("a" + CA_FLAG + "b", [(0, 1, 1), (1, 3, 2), (3, 4, 1)], 4), + ("e\u0301", [(0, 2, 1)], 1), # é combining acute accent + ], +) +def test_split_graphemes_clusters( + text: str, + expected_spans: list[CellSpan], + expected_cell_length: int, +) -> None: + spans, cell_length = split_graphemes(text) + assert spans == expected_spans + assert cell_length == expected_cell_length + + +@pytest.mark.parametrize( + "text,offset,left,right", + [ + (CA_FLAG, 0, "", CA_FLAG), + (CA_FLAG, 1, " ", " "), + (CA_FLAG, 2, CA_FLAG, ""), + (CA_FLAG + "x", 2, CA_FLAG, "x"), + (FAMILY + "x", 2, FAMILY, "x"), + ], +) +def test_split_text_grapheme_clusters( + text: str, offset: int, left: str, right: str +) -> None: + assert split_text(text, offset) == (left, right) + + +def test_chop_cells_grapheme_clusters(): + assert chop_cells(CA_FLAG + GB_FLAG, 3) == [CA_FLAG, GB_FLAG] + assert chop_cells(CA_FLAG + "x" + GB_FLAG, 3) == [ + CA_FLAG + "x", + GB_FLAG, + ] diff --git a/tests/test_unicode_data.py b/tests/test_unicode_data.py deleted file mode 100644 index 88fc9390fd..0000000000 --- a/tests/test_unicode_data.py +++ /dev/null @@ -1,64 +0,0 @@ -from __future__ import annotations - -import pytest - -from rich._unicode_data import VERSIONS, _parse_version, load - - -def test_load(): - """Test all versions may be loaded.""" - for version in VERSIONS: - load(version) - - -@pytest.mark.parametrize( - "version_str,version_tuple", - [ - ("1", (1, 0, 0)), - ("1.0", (1, 0, 0)), - ("1.2", (1, 2, 0)), - ("1.2.3", (1, 2, 3)), - ], -) -def test_parse_version(version_str: str, version_tuple: tuple[str, ...]) -> None: - assert _parse_version(version_str) == version_tuple - - -@pytest.mark.parametrize( - "version_in,version_selected", - [ - # Lower versions will pick the first (4.1.0) - ("0", "4.1.0"), - ("1", "4.1.0"), - ("1.0", "4.1.0"), - ("1.0.0", "4.1.0"), - ("4.0.0", "4.1.0"), - ("4.0.2", "4.1.0"), - ("4.1.0", "4.1.0"), - ("4.1.1", "4.1.0"), - ("4.2.1", "4.1.0"), - # Nearest version lower - ("5", "5.0.0"), - ("5.0", "5.0.0"), - ("5.0.0", "5.0.0"), - ("5.0.1", "5.0.0"), - ("5.1.0", "5.1.0"), - ("5.1.1", "5.1.0"), - # Maximum version if greater than the maximum - ("17.0.0", "17.0.0"), - ("17.0.1", "17.0.0"), - ("17.1.0", "17.0.0"), - # Greater than the maximum - ("18.0.0", "17.0.0"), - ], -) -def test_load_version(version_in: str, version_selected: str) -> None: - """Test that load will pick the nearest lower version if it exists, or the lowest version if below the first available version.""" - assert load(version_in).unicode_version == version_selected - - -def test_load_version_invalid() -> None: - """Check that invalid versions load the latest unicode data.""" - assert load("foo").unicode_version == "17.0.0" - assert load("a.b.c").unicode_version == "17.0.0" - assert load("1.2.3a").unicode_version == "17.0.0" diff --git a/tools/make_width_tables.py b/tools/make_width_tables.py deleted file mode 100644 index 72764277e8..0000000000 --- a/tools/make_width_tables.py +++ /dev/null @@ -1,53 +0,0 @@ -import subprocess -from pathlib import Path - -from wcwidth import list_versions -from wcwidth.table_vs16 import VS16_NARROW_TO_WIDE -from wcwidth.table_wide import WIDE_EASTASIAN -from wcwidth.table_zero import ZERO_WIDTH - -from rich.cells import CellTable - -UNICODE_VERSIONS: list[str] = list_versions() - - -path = Path("../rich/_unicode_data/_versions.py").resolve().absolute() -init = f"""\ -VERSIONS = {UNICODE_VERSIONS!r} -""" - -with open(path, "wt") as init_file: - init_file.write(init) - -subprocess.run(f"black {path}", shell=True) - - -narrow_to_wide: set[str] = set() -for start, end in VS16_NARROW_TO_WIDE["9.0.0"]: - narrow_to_wide.update(chr(codepoint) for codepoint in range(start, end + 1)) - -for version in UNICODE_VERSIONS: - table: list[tuple[int, int, int]] = [] - wide_east_asian: list[tuple[int, int]] = WIDE_EASTASIAN.get(version, []) - for start, end in wide_east_asian: - table.append((start, end, 2)) - zero_wide: list[tuple[int, int]] = ZERO_WIDTH.get(version, []) - for start, end in zero_wide: - table.append((start, end, 0)) - table.sort() - - cell_table = CellTable(version, table, frozenset(narrow_to_wide)) - - table_file = f"""# Auto generated by tools/make_width_tables.py -# Data from wcwidth project (https://github.com/jquast/wcwidth) - -from rich.cells import CellTable - -cell_table = CellTable({cell_table.unicode_version!r}, {cell_table.widths!r}, frozenset({sorted(cell_table.narrow_to_wide)!r})) -""" - version_path = version.replace(".", "-") - path = Path(f"../rich/_unicode_data/unicode{version_path}.py").resolve().absolute() - with open(path, "wt") as file_out: - file_out.write(table_file) - - subprocess.run(f"black {path}", shell=True)