def hankaku_count(text, wide_type_letters='WFA'):
u"""半角で何文字かを数えます
あいまいな文字を1文字で数える時は、
wide_type_letters='WF'でお願いします。
(デフォルトは2文字です)
Example:
>>> hankaku_count(u'テストtest')
10
"""
import unicodedata
return (len(text) +
sum(1 for char in text
if ord(char) >= 256 and
unicodedata.east_asian_width(char)
in wide_type_letters
)
)
# EOF