From: Tietew Date: 2008-07-01T13:14:14+09:00 Subject: [ruby-dev:35288] Re: Win32 Unicode console output 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" 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 Blog: http://www.tietew.jp/ PGP: 26CB 71BB B595 09C4 0153 81C4 773C 963A D51B 8CAA