MCPcopy
hub / github.com/psf/black / make_width_table

Function make_width_table

scripts/make_width_table.py:26–47  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

24
25
26def make_width_table() -> Iterable[tuple[int, int, int]]:
27 start_codepoint = -1
28 end_codepoint = -1
29 range_width = -2
30 for codepoint in range(0, sys.maxunicode + 1):
31 width = wcwidth.wcwidth(chr(codepoint))
32 if width <= 1:
33 # Ignore narrow characters along with zero-width characters so that
34 # they are treated as single-width. Note that treating zero-width
35 # characters as single-width is consistent with the heuristics built
36 # on top of str.isascii() in the str_width() function in strings.py.
37 continue
38 if start_codepoint < 0:
39 start_codepoint = codepoint
40 range_width = width
41 elif width != range_width or codepoint != end_codepoint + 1:
42 yield (start_codepoint, end_codepoint, range_width)
43 start_codepoint = codepoint
44 range_width = width
45 end_codepoint = codepoint
46 if start_codepoint >= 0:
47 yield (start_codepoint, end_codepoint, range_width)
48
49
50def main() -> None:

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected