D言語デビュー
なんかdHell2もいい感じっぽかったんでD言語で遊んでみようと思います
で、最近話題だったWindowsってShift-JISマンセーじゃなーいって話
他のライブラリとかさっくり実装できてるのでおれもれも!って思って
やってみたけどなんか上手くいかない
参考にしたのはこれ
「文字コードにまつわるエトセトラ」
http://www.sun-inet.or.jp/~yaneurao/dlang/Chapter-07.html
もすかすて!と思ってdHell経由しなしで出力してみた!
extern(Windows) export int WideCharToMultiByte( uint CodePage, uint dwFlags, char* lpWideCharStr, int cchWideChar, char* lpMultiByteStr, int cbMultiByte, char* lpDefaultChar, bool* lpUsedDefaultChar); // ここからコード scope wchar[] abc = "春のA・S・C3"; char[] result; // win32APIで変換... Hesult.length = WideCharToMultiByte(0, 0, cast(char*)abc, abc.length, null, 0, null, null); WideCharToMultiByte(0, 0, cast(char*)abc, abc.length, cast(char*)result, result.length, null, null); // std.fileで普通に出力(もちろん成功) append("run.log", result); // dHellの出力関数(例外「4invalid UTF-8 sequence」を投げる) Hell_write("%s \r\n", result);
ためせばわかーるー
とりあえず、Shift-JIS変換はC時代から行われているコードだと思われっつーかAPI一発
Shift-JIS出力は実はたやすく出来たりする
ってことでwindowsならばShift-JISで出力ってのをdHellに組み込めば
みんな幸せになれそうです *1 *2
ところで、ゲームは?
ギャーーーーーーーーーーーーーーぜんぜんできてない!
追記
キャプションが日本語不可になってたけどどうやら書式指定がログ吐き同様の
例外を吐くようでShift-JISを受け付けないみたいです
直せばいいんだけど
ぼく
でぃげんご
しょしんしゃ
なので
もう直接SDL_WM_SetCaptionにShift-JIS垂れ流してやったら普通に日本語キタ
まぁ普通だよね
グループキーワードかっけー!
dHellのところがキーワードリンクされてるんだけど
これってグループキーワード読み込むにしてあるとなるっぽい
かっけー!!!
つーことでdHell使ってる人はHatena::Group::Gamehellのキーワードをリンクすると
今後いいこともあるし変なキーワードてんこ盛りになる可能性もあります