Coding style
- Avoid allocating list. - No change to speed.
This commit is contained in:
parent
1ac742c0bc
commit
723b4c4786
1 changed files with 7 additions and 7 deletions
|
|
@ -173,13 +173,13 @@ _ZERO_WIDTH_SPACE = "\u200b"
|
|||
|
||||
|
||||
def _pad_wide_chars(str_):
|
||||
parts = []
|
||||
last_width = None
|
||||
for char in str_:
|
||||
width = cwcwidth.wcwidth(char)
|
||||
parts.append(f"{_ZERO_WIDTH_SPACE}{char}" if width != 0 and last_width == 2 else char)
|
||||
last_width = width
|
||||
padded_str = "".join(parts)
|
||||
def parts():
|
||||
last_width = None
|
||||
for char in str_:
|
||||
width = cwcwidth.wcwidth(char)
|
||||
yield f"{_ZERO_WIDTH_SPACE}{char}" if width != 0 and last_width == 2 else char
|
||||
last_width = width
|
||||
padded_str = "".join(parts())
|
||||
if len(padded_str) > 0 and cwcwidth.wcwidth(padded_str[-1]) == 2:
|
||||
padded_str += _ZERO_WIDTH_SPACE
|
||||
return str_ if len(padded_str) == len(str_) else padded_str
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue