POSIX에서는 wcswidth 와 wcwidth 로 지원하고 있는, 동아시아 문자 글자폭 지원을 파이썬에도 넣었습니다. 글자폭이 지원되면 터미널이나 트레이스백 같은 고정폭 환경에서 한글이 들어갔을 때 뒤로 쭉쭉 밀리는 현상을 패치할 수 있게 되고, calendar.wdayheader 같이 지금 ISO-8859권 사용자들한테만 제대로 돌아가고 있는 함수들도 앞으로 제대로 돌아가게 바꿀 수 있게 됩니다~
추가된 메소드는 unicode.width와 unicode.iswide 두 개 입니다. unicode.width는 유니코드 문자열의 폭을 정수값으로 리턴해 주고, unicode.iswide는 str.isalpha류의 메소드들 처럼 그냥 넣으면 넓은 건지 알려줍니다.
1 2 3 4 5 6 7 8 |
>>> u'\N{HANGUL SYLLABLE HA}'.width() 2 >>> u'\N{HANGUL SYLLABLE HA}\N{LATIN CAPITAL LETTER A}'.width() 3 >>> u'\N{HANGUL SYLLABLE JWAL}'.iswide() True >>> u'\N{TELUGU SIGN CANDRABINDU}'.iswide() False |
으흐흐~~ 커밋한 뒤에 Skip이 문자열에도 같은 함수를 넣어야 하지 않겠느냐 해서, 몇가지 안을 제시하기는 했는데, Martin이 다행히 추측해서 제공하는 것은 파이썬의 도에 어긋난다고 말해 줘서 추가 안 해도 되게 되었습니다~