Unicodeに潜む亡霊:文字コードの深淵を覗く
A spectre is haunting Unicode
A spectre is haunting Unicode
「Unicode」という広大な世界に、今、恐ろしい亡霊が忍び寄っています。文字化けやエンコーディングの悪夢に悩まされたことはありませんか?現代のプログラミングにおいても無視できない、文字コードにまつわる不可解な現象とその対策について深掘りします。
著者のPaul McCann (polm) は、個人的に一番大好きなプログラマーの一人!ここ10年ほど日本語のNLP分野で素晴らしい仕事をしていて、僕の語学学習プロジェクトでも本当に助けられている。Python用のmecab(日本語形態素解析器)ラッパー [0] を保守してるし、英語話者向けに日本語NLPの本 [1] も書いてる。一時期はSpacy [2] にも関わってたんだ。
そもそも康熙字典(CJK文字のほとんどの「ソース」として機能してるもの)の広大な範囲が、記事で言及されてるような「幽霊」文字だよね…。CJK文字特有の性質と、それをUnicodeに実装する際の哲学(どうやら日本側は、アリストテレス的な本質主義に向かうUnicodeの傾向を好まなかったらしい)が、おそらくUnicodeをBMPの枠外へ拡張せざるを得なくさせた唯一の要因じゃないかな。
「彁」の起源については、新聞記事の不鮮明なスキャン結果が原因だという証拠が見つかってるみたいだよ。「彁 新聞」で検索すると、日本のソースがいくつか出てくるはず。
面白いね。でも、必要な文字が欠けているよりは、余計な無効文字があるほうがマシなんじゃないかな。
今、こういった文字を実際に使ってる人っているのかな?若者言葉やネットスラングで使われてたりしないの?
元の文字 (𡚴) はずっと後になるまでJISやUnicodeに追加されなかったし、自分の環境のほとんどのサイトでも表示されない
なぜ単純に元の「ダメな方の文字」と置き換えなかったんだろう?
900ページもある。ページ番号なしでたった一文字を探し出すなんて想像してみて
そこまで想像しづらくはないかな、当時はもうOCRがあったわけだし。
ふと思ったんだけど、「名前を付けることすらできない完全に未知の概念」を指す言葉として「彊」を使えるんじゃない?例えば「クトゥルフが眠りから覚めるとき、最初に何をすると思う?たぶんそれは彊。」みたいに。
徐氷が、全部架空の文字だけで構成された本を出してるよ:https://en.wikipedia.org/wiki/A_Book_from_the_Sky
見出しを見たときはUnicode絡みの分岐予測の脆弱性の話かと思ったから、全然違うトピックで驚いた。
タイトルに「(2008)」って付けておいたほうがいいんじゃないかな。