謎の康煕部首
「長」という文字を含むPDFからテキストをコピペしたら「長」で検索できなくて驚いた。「長い」を意味する普通の「長」は utf-8だと
 e9  95  b7 でコードポイントがU+9577なのに対し、PDFからコピーされた「⻑」は utf-8だと e2  bb  91 でコードポイントは U+2FA7だったのが原因だった。実は後者の「⻑」は康煕部首というものであり、厳密には文字ではないのだが、PDFからテキストをコピーすると何故か文字のかわりに康煕部首が使われてしまうことがあるらしい。見た目では全く区別がつかない。
chou.txt% cat chou1.txt # 普通の文字長 1% cat chou1.txt | od -t x10000000    e9  95  b7  20  31  0a% cat chou2.txt # 康煕部首⻑ 2% cat chou2.txt | od -t x10000000    e2  bb  91  20  32  0a% grep 長 chou?.txtchou1.txt:長 1% grep ⻑ chou?.txtchou2.txt:⻑ 2%康煕部首などというものを使いたい人はほとんどいないだろうが、何故こういう謎仕様がまかり通っているのだろうか? 大変困るのだが、あまり問題になってないのだろうか?
#文字 #UTF #部首
#康煕部首