On Tue, 1 Jul 2008 03:06:31 +0900
In article <4869214E.3070803 / airemix.jp>
[[ruby-dev:35283] Re: Win32 Unicode console output]
"NARUSE, Yui" <naruse / airemix.jp> wrote:

> 成瀬です。
> 
> arton wrote:
> >> # ruby19 -e'puts"\u{3042 2603}"'
> >> # で、雪ダルマが出れば成功です。
> > 「あ」と雪だるまですよね?
> 
> そうですね、「あ[雪ダルマ]」です。
> 
> > Windows Vista 64 (ただしRubyはx86版の1.9.0-2)、Visual C++ 6 SP5で動作し
> > ました。
> 
> 報告ありがとうございます。

Vista 32bit + VS2008 では動作したんですが、

C:\...> ruby -e'puts "\u{3042 2603}".encode("utf-16le")'
とかやると何も出ませんね。
すでにワイド文字列になっているのを MultiByteToWideChar にかけてもサポー
トしていないみたいです。

あと、当然ですが

C:\...>ruby -e'puts "あいうえお".encode("EUC-JP")'
、「、、、ヲ、ィ、ェ

こんなのもだめですね。やはりここは trascode の仕組みを使った方がよいので
はないかと思います。(今のところ全文字セットは UTF-16LE に変換できますよ
ね?)

あとは入力系、ReadConsoleInputW() と GetCommandLineW() か…
-EUTF-8 とかで起動された場合に限って使用する、とか制御しないと駄目ですよ
ねやっぱ。



> Vista64 でも大丈夫だと、あと知りたいのは Win9x ですかね。

Win98SE で実行しようとしたのですが、VS2008 でコンパイルしたら
-----
ファイルには新しいバージョンの Windows が必要です。
Windows をアップグレードしてください。
-----
とか言われて実行できませんでした。ってかそんなエラーを出す機能あったんだ。

VC++6 どこに仕舞ったんだっけ……


-- 
Tietew <tietew / tietew.net>
Blog: http://www.tietew.jp/
PGP: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA