昨日は朝からGRUB 2を弄ってたけど、 急にCDG空港に人を迎えに行かないといけなくなってしまったので、 中途半端に。 いやあ、しかし、すごい人の数です。 バカンス・シーズンの到来ってやつですなあ。 TGVの中はうるさいガキが多くてたまりませんでした。
今日は朝少し再びハックしてから、 市場に行って、パンや果物をいくらか買ってきました。 さて、午後はどうしようか。 もう少しハックしてもいいんだけれど、 外出したい気もするな。
最近Unifontの開発って止まっていると思うんですけど、 24ドットとかの、もう少し大きめのUnifontが欲しいですね。 誰か作ってないのかな。 場面によってはプロポーショナルなフォントは便利だけれど、 テキストの編集はやっぱり固定幅でないと。 自分で作るしかないのかなあ。 アンチエイリアス付きで拡大するとか、 TrueTypeを無理矢理固定幅化するとか、 安易な方法に傾きそうです。 でもきっとすごい醜いことになるんだろうなあ。
mu antenna経由で GNU Libc Locale Data Format を眺めてて思ったんですけど、 一体localeのカテゴリって、 どうしてこんなにおかしなことになっているんでしょう。 どう考えてもそれはlocaleじゃないだろ!ってものまで混じってます。 LC_MONETARY、LC_ADDRESS、LC_MEASUREMENT、LC_NAME、LC_PAPER、LC_TELEPHONEは絶対localeでやることじゃないね。
そもそもlocaleの発想というのは、言語と地域(国)を指定すれば、 何らかの表現が一意に決定されることが前提になっています。 まあ、時刻なんかはそれでいいでしょう。 文字列の比較も、ユーザが介入できる余地が残されているので、 まあいいでしょう。 でも、金額、住所、測定などはそうじゃありません。
例えば、遠からず消える運命にあるとは言え、 フランスにはまだフランが残ってます。 ユーロで表記できないでしょうが。 日本人が米ドル持っている場合はどうなるのよ。 中国人がイギリス人の住所を管理する場合はどうよ。 ヤードとメータが混ざっているのはどうするのよ。 A4とB5の用紙はどう区別されるのよ。 フランス人が日本の電話番号書くのはどうするのよ。
こういうのを適切に表記する汎用的なインターフェースを用意することは重要だけれど、 これらはlocaleでやるべきことじゃあないんです。 2バイトでやるぜと押しきった挙げ句、後からサロゲート・ペアだの言語タグだの、絆創膏だらけにしてしまったUnicodeと同等の稚拙さを感じますね。
上記カテゴリのうちLC_MONETARYはANSI C策定の際に当初から含まれていたカテゴリではなかったでしょうか? 手元に参考書がないので記憶違いでしたらすみません
その通りですが、それがどうかされましたか?
この件ですが、標準化関係で日本の人とヨーロッパの人が、ちょっと別の件で議論していて食い違いが出て、日本の人が「そんなこというんだったら LC_ADDRESS とかもいるでしょ」って皮肉の意味で言ったら、それを逆手にとられて、「じゃあそれらも標準に加えましょ」ってことになってガックリ… みたいな話を、どこかで読んだような記憶があるんですが、ちょっと探しても見つかりませんでした。おかしいなあ… (見つけられなかったので、単なる記憶違いの可能性もありますので注意してください。)
いやあ、いかにもありそうな話だと思います。日本人と比較して、国際化に関する理解度はかなり低そうだと実感してます。