箱根駅伝で楽しむ文字コード

| コメント(0) | トラックバック(0)

発端は1月2日、箱根駅伝の最中の @mashabow さんのこのツイートでした。

そこで思い付いたのが以下の一群のツイートです。幸いご好評をいただいたので、少し解説を添えてここにご紹介しましょう。

1区1点、和字間隔、いわゆる全角スペースです。Unicodeに対応する文字名はIDEOGRAPHIC SPACE。この字はASCII相当のSPACEとの重複符号化とはされていません。理由は確か、ISO/IEC 2022の枠組みでSPが現れ得るのは8ビット符号表の2/0か10/0 (ビットパタン0x20と0xA0)に限られるからだったじゃないかという記憶がありますが正確なところは把握していません。

1区29点、ダッシュ(全角)。文字名EM DASH、Unicodeの符号位置はU+2014なのですが、隣のU+2015 HORIZONTAL BARに間違われることがあります。多分、昔Unicode ConsortiumのFTPサイトで配布されていた(obsoleteな)変換表でこの点を誤っていたためだと思います。位置が隣り合っているし字形も似ているので間違われやすいんでしょうね。

1区33点、波ダッシュ、WAVE DASH。「国際団体の名簿に......」というのは、Unicode仕様書の例示字形が最近までひっくり返っていたことを指しています。FULLWIDTH TILDEへの文字化けネタを出しても良かったのですが、他の文字とネタがかぶるのでやめました。

1区34点。双柱、DOUBLE VERTICAL LINEの名の通り、二つの垂直線なのですが、Unicodeへの変換で数学の平行記号に誤って移してしまうものがあります。平行記号はフォントによって直立だったり斜めだったりすることがあるので、斜めのものが使われると、垂直な線のつもりで入力した記号が斜線になってしまって、大層具合の悪いことになります。

1区61点、負符号、MINUS SIGN。JIS X 0208はASCIIやISO/IEC 646と異なり、マイナスとハイフンのそれぞれの記号に独立した符号位置を与えています。ASCIIの「マイナスにもハイフンにも使われる記号」はUnicode/10646で「ハイフンマイナスという記号」だ、ということにされました。2000年に制定されたJIS X 0213は、互換性のためにこの「ハイフンマイナスという記号」を追加しています。それが「2000年大会から......」の意味です。

ツイートは以上です。本当はほかにも「4区から5区へのタスキリレー、平仮名が次々と片仮名に置き換わっていきます」とか、「2区、2000年大会から参加、二人で一人の『くの字点』兄弟」とか、やろうと思えば色々できたのですが、あまり多くてもくどいと思うのでやめました。

なお、上のツイートに挙げたコード変換のトラブルについてさらに知りたい方は拙著「プログラマのための文字コード技術入門」の第8章をご参照いただければと思います。

トラックバック(0)

トラックバックURL: http://yanok.net/yanok/mt-tb.cgi/590

コメントする

最近のブログ記事

libiconv に JIS X 0213がない場合
GNU libiconvはJIS X 0…
「キュレーション」なる語について
DeNAのキュレーションサイトWelqの…
雪の青の夜景、札幌と函館
何日か前の朝のNHKニュースで札幌の夜景…
「2バイト文字」という言い方
「2バイト文字」という言い方につっこみを…
EUCが国際標準化されていれば良かった
すごい後知恵なんですが、1980年代に「…

広告