2014年5月23日金曜日

①△□ の幅

1980年代に、パソコンで漢字が使えるようになった。
はじめのウチは漢字の入力、表示、印刷するだけでも苦労があったので、使わないことも多かったが、NECのPC-98が出た頃から、比較的確実に漢字が使えるようになってきた。

漢字というか、日本語文字セットは文字数が多いので表現力が高い。
①、△、□、♪、などなど、様々なグリフがある。
ソースコード内のコメント等をこの高い表現力で書けば、テキストだけでわかりやすい文書にすることもできる。
(文書を構成する能力が重要だけど)
という訳でしばしば、そういった特殊な文字を使ってソースコードのコメントを書いてきた。

自宅ではUbuntu12.04を使っている。
先日、新しいLTSの14.04が出たが、Upgradeは半年ぐらい様子をみてからにする予定だ。
面倒なことにUbuntu上でいくつかのアプリでは、これら特殊な文字の文字幅がメチャクチャになる。
具体的には、gnome-terminal上で一部の全角文字が、半角の大きさとして扱われてしまうのだ。
(geditでは問題ない)
なんでこんなことになるのかを調べた。
なんとUnicodeにするときに、一部のグリフがヨーロッパのものと混ざったようで、欧米では半角文字と同じサイズで、日本では全角文字になる文字があるのだ。
(そもそも欧米に全角/半角の概念はないので、全部同じ文字サイズになる)
たとえば、■(黒い四角)で図を書いたとしよう。このとき、日本での表示と海外での表示が違ってしまうのだ。

日本だけの閉じた世界なら、全角/半角を昔ながらの方法にあわせて扱ってしまえばいいが、Unicodeがそれでいいのか?
世界中で同じ文字体系が使えるはずだったのではないのか?

崩れないものを書きたければ、ワープロ等で書いて、PDFにすればいい。
それでもいいだろう。常にソースコードとPDFを一緒にするのなら。
しかし、ソースコード内に書いておきたいのだ。

日本語でコメントを書いた時点で、海外とやり取りはほぼ無理になる。
開き直って、日本語文字セットを使ったものは、やり取りは無いのだから、気にしないという選択もありかな。
自分にさえわかれば、とりあえずいいだろう。

ただし、新たに書くものについては、特殊文字は使わない(減らす)ようにする。

0 件のコメント:

コメントを投稿