次のスニペットを見てください。
>>> import unicodedata
>>> from unicodedata import normalize, name
>>> normalize('NFKD', u'\xb4')
u' \u0301'
>>> normalize('NFKD', u'a\xb4a')
u'a \u0301a'
>>> normalize('NFKC', u'a\xb4a')
u'a \u0301a'
>>> name(u'\xb4'), name(u'\u0301')
('ACUTE ACCENT', 'COMBINING ACUTE ACCENT')
翻訳u'\xb4'
する動作u' \u0301'
が正しいかどうかを理解しようとしています。なぜアキュートアクセントとスペースを組み合わせるのですか?なぜそれはu\xb4
をまったく翻訳するのですか?
fileformatでは、ACUTE ACCENT
以前はと呼ばれていたことがわかりますSPACING ACUTE
。次の文字が入力されるのを待つのではなく、カーソルが移動する必要があるということだと思いました。
UPD:誰かが興味を持っている場合に備えて、NFKC正規化後に最初にスペースがあるUnicode文字のリストを次に示します:http://pastebin.com/Z99r5AK9