Re: ver3.10cの不具合報告 ( No.1 ) |
- 名前:管理人 日時:2013/05/12 03:24
手元でこちらのテストプログラムを実行してみましたが、正常に表示されているようでした
( Windows7 64bit, 使用しているDXライブラリは Unicodeバージョン )
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int FontHandle ;
wchar_t String[ 6 ];
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) return -1 ;
FontHandle = CreateFontToHandle(L"SimSun", 32, -1, DX_FONTTYPE_ANTIALIASING_8X8, DX_CHARSET_GB2312) ;
( ( WORD * )String )[ 0 ] = 32418 ;
( ( WORD * )String )[ 1 ] = 28903 ;
( ( WORD * )String )[ 2 ] = 21860 ;
( ( WORD * )String )[ 3 ] = *( ( WORD * )L"酒" ) ;
( ( WORD * )String )[ 4 ] = 34430 ;
( ( WORD * )String )[ 5 ] = 0 ;
DrawFormatStringToHandle(0,0,GetColor(255,255,255), FontHandle, String ) ;
WaitKey() ;
DxLib_End() ;
return 0 ;
}
よろしければコナンさんの環境でも正常に動作するか試してみてください
|
Re: ver3.10cの不具合報告 ( No.2 ) |
- 名前:コナン 日時:2013/05/13 20:37
お忙しい中ご返信ありがとうございます。
私が作成したプログラムは「マルチバイト文字」を
使用しています(先に記載せず申し訳ありませんでした)。
試していませんが、Unicodeにすればたぶん大丈夫だと思います。
ただ、今から設定を変更するとバグがでそうで怖いです……。
|
Re: ver3.10cの不具合報告 ( No.3 ) |
- 名前:管理人 日時:2013/05/19 11:19
なるほど、マルチバイト文字でしたか
マルチバイト文字での表示も試してみましたが、問題なく表示されました
こちらのGB2312コード表のページ
http://ash.jp/code/cn/gb2312tbl.htm
を、参考にさせて頂いて文字コード 0xB0A0 を開始コードとして、左右キーで表示する範囲を
変更できるサンプルプログラムを組んでみましたので、よろしければコナンさんの環境でも
問題なく文字が表示されるかどうかお試しになってみてください
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int FontHandle ;
unsigned char String[ 16 * 4 + 1 ];
unsigned short code ;
int page ;
int i ;
int j ;
int k ;
SetGraphMode( 800, 600, 32 ) ;
ChangeWindowMode( true ) ;
if( DxLib_Init() == -1 ) return -1 ;
SetDrawScreen(DX_SCREEN_BACK);
FontHandle = CreateFontToHandle("SimSun", 17, -1, DX_FONTTYPE_ANTIALIASING_8X8, DX_CHARSET_GB2312);
page = 0xb0a0 ;
while( ProcessMessage() == 0 )
{
switch( GetInputChar( TRUE ) )
{
case CTRL_CODE_LEFT :
page -= 0x100 ;
break ;
case CTRL_CODE_RIGHT :
page += 0x100 ;
break ;
}
ClearDrawScreen() ;
code = page ;
for( i = 0 ; i < 6 ; i ++ )
{
k = 0 ;
for( j = 0 ; j < 16 ; j ++ )
{
String[ k + 0 ] = code >> 8 ;
String[ k + 1 ] = code & 0xff ;
String[ k + 2 ] = ' ' ;
String[ k + 3 ] = ' ' ;
k += 4 ;
code ++ ;
}
String[ k ] = 0 ;
DrawFormatStringToHandle( 0, i * 24, GetColor( 255,255,255 ), FontHandle, "0x%x %s", page + i * 16, String ) ;
}
ScreenFlip() ;
}
DxLib_End();
return 0;
}
 |
Re: ver3.10cの不具合報告 ( No.4 ) |
- 名前:コナン(解決) 日時:2013/05/25 10:13
最近忙しく、返信が遅れたいへん失礼いたしました。
いただいたソースで動作確認が取れました。
また、何故か自分のソフトもきちんと表示されるようになっていました。
もしかするとDxライブラリを更新した際にリビルドをきちんと行わずにデバッグ開始してしまったのかもしれません。
本件は解決なのですが、「不具合」というタイトルをつけてしまったので、もし可能であれば本件丸ごと削除してくださっても結構です。
貴重なお時間を浪費させてしまい、大変申し訳ありませんでした。
|
|