- 373 名前:login:Penguin [02/11/22 01:55 ID:N/6qdEgd.net]
- 本当にワイドキャラクタがopaqueでしかありえないなら、
いわゆる国際化は出来ても、国際化の最終段階としての地域化で 非常に大きなハンディキャップを背負うことになる。 例えば句読点を特別扱いしたいという時、ISO C的に正しい アプリケーションは、現在のlocaleを見て、いったんマルチバイトに 戻してから処理しなければならない。それを避けようと思えば、 際限無くマルチバイトctypeを増やさなくてはならない。 句読点レベルならさすがにマルチバイトに戻してもいいかも知れないが、 BiDiや結合文字のサポートがctypeレベルですら行われていないのは酷い。 その点ではUCSで統一した方がはるかにまし。 やはり、ワイドキャラクタはopaqueであるべきだ、という考え自体が 諸悪の根源だと思う。libcが提供する情報しか扱えないのでは、外部の ライブラリのレベルで機能を追加することもままならない。 ワイドキャラクタの中が分かれば、実装ごとに提供する情報に差があっても、 アプリケーションの側が足りない部分「だけ」を実装すればいい。 UCSみたいなやり方が嫌なら、個々のロケールごと、つまり言語ごと、 エンコーディングごと、包接基準ごとにワイドキャラクタの仕様を決める という方法もあって、それなら変な文化問題も互換問題も無くなる。
|

|