diff --git a/rich/cells.py b/rich/cells.py index 64bf468cb..52245df32 100644 --- a/rich/cells.py +++ b/rich/cells.py @@ -15,23 +15,14 @@ (0x02800, 0x028FF), # Braille ] - -def _make_single_cell_set() -> frozenset[str]: - """Combine ranges of ordinals in to a frozen set of strings. - - Returns: - A frozenset of single cell characters. - - """ - character_range_lists = [ - list(map(chr, range(_start, _end + 1))) +# A set of characters that are a single cell wide +_SINGLE_CELLS = frozenset( + [ + character for _start, _end in _SINGLE_CELL_UNICODE_RANGES + for character in map(chr, range(_start, _end + 1)) ] - return frozenset(sum(character_range_lists, start=[])) - - -# A set of characters that are a single cell wide -_SINGLE_CELLS = _make_single_cell_set() +) # When called with a string this will return True if all # characters are single-cell, otherwise False