まつもと ゆきひろです

In message "Re: [ruby-list:45625] Re: String#ljust, center,   	rjustの挙動"
    on Sat, 8 Nov 2008 07:26:32 +0900, "NARUSE, Yui" <naruse / airemix.jp> writes:

|> まずRubyのM17Nの仕組みにおいて「決められた幅」をどう定義する
|> のか決める必要がありますね。

|一応 Unicode には East Asian Width がありますし、
|http://unicode.org/reports/tr11/
|JIS 系の encoding はまぁ私達は通常どのような動作が期待されているか知っています。
|
|それ以外はどうしましょうかね。

Ruby M17Nの最初の版は各エンコーディングごとに文字幅を求めるプ
リミティブを定義することを求めてました(UnicodeはWidthをちゃん
と求めてた)。が、あまりうれしい局面がないわりに面倒なので、
最終版では削られたという経緯があります。

万人が納得する「幅」が定義できない限り、String#ljustなどの挙
動は現状が精一杯ではないかと思います。必要に応じてバイト幅で
切り詰めるようなメソッドは書けるとは思いますが。

                                まつもと ゆきひろ /:|)