トップページ > 記事閲覧
列挙成功したフォントの中に使用できないフォントがあります
名前:mea 日時: 2014/03/18 21:19

はじめまして、meaといいます。 自分のPCに入ってるフォント名を全て、それぞれのフォントを使って表示しようとしたのですが、342個のうちACaslonPro-Bold以前の最初の10個が表示されません。 メモリを見ると列挙には成功しており、ChangeFont, DrawFormatStringともに戻り値は0でした。 また、文字列をフォント名としてでなく、通常の(英数シングルバイト)文字列も表示できず、フォント自体使えない模様です。 ログを見ると何やら大量に関数が失敗しているようなのですが…、対応策はあるでしょうか? Visual Studio 2012 Expressを使用しています。 ソース ------------------------------------------------------------ #include "../dxlib_vc/DxLib.h" #include <string> #include <cstdlib> #include <typeinfo> const int DC_WIDTH = 1200; const int DC_HEIGHT = 800; const int FONTNAME_MAX = 64; const int FONT_HEIGHT = 20; void Safe_Free( void* p ) { if( p != nullptr ){ free( p ); p = nullptr; } } int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR lpszArgs, int nWinMode) { ChangeWindowMode(TRUE); SetGraphMode( DC_WIDTH, DC_HEIGHT, 32 ); if( DxLib_Init() == -1 ) return -1; int fontNum = EnumFontName( nullptr, 0, FALSE ); char* const pFont = (char*)std::calloc( fontNum, FONTNAME_MAX ); EnumFontName( pFont, fontNum, FALSE ); for( int i = 0; i < fontNum; ++i ){ ChangeFont( pFont + i * FONTNAME_MAX ); DrawFormatString( i / (DC_HEIGHT / FONT_HEIGHT) * 200, i * FONT_HEIGHT % DC_HEIGHT, GetColor(255,255,255), "%s", pFont + i * FONTNAME_MAX ); } WaitKey(); Safe_Free(pFont); DxLib_End(); return 0; } ログ ------------------------------------------------------------ 1:システムの情報を出力します 1: DXライブラリ Ver3.11 1: 論理プロセッサの数 : 4 1: OS Windows7 ( Build 7601 Service Pack 1 ) 102: CPU動作速度:大体3.39GHz 102: MMX命令を使用します 102: SSE命令が使用可能です 103: SSE2命令が使用可能です 103: CPUベンダ:GenuineIntel 104: CPU名: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz 104:COMの初期化... 成功しました 107:メモリ総量:7895.31MB 空きメモリ領域:1422.11MB 107:タイマーの精度を検査します 108:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 108: パフォーマンスカウンターを使用します タイマー精度 : 3312.861000 KHz 108: ソフトの二重起動検査... 二重起動はされていませんでした 109:ウインドウクラスを登録します... 登録に成功しました 110:ウインドウモード起動用のウインドウを作成します 126:ウインドウの作成に成功しました 126:ウインドウを表示します 164:IMEを無効にしました 164:ウインドウスタイルをウインドウモード用に変更します... 完了 182:DirectInput関係初期化処理 182: XInput DLL の読み込み中... 成功 186: DirectInput7 の取得中... 成功 203: 引き続き初期化処理... 初期化成功 205: ジョイパッドの初期化... 214: 入力装置を見つけました 214: デバイスの登録名:PC Game Controller 214: デバイスの製品登録名:PC Game Controller 215: 周期的エフェクトの作成に失敗しました。 215: ジョイパッドの追加は正常に終了しました 215: ジョイパッドの初期化は正常に終了しました 215: マウスデバイスの初期化... 初期化成功 216: キーボードデバイスの初期化... 初期化成功 217:DirectInput 関連の初期化は正常に終了しました 218:XAudio2 の初期化を行います 218: XAudio2 インターフェースの取得を行います.... 成功 Ver2.7 221: 引き続きインターフェースの初期化処理... 成功 223: X3DAudio.DLL の読み込み中... 成功 271: デバイス名:スピーカー (Realtek High Definition Audio) 272: チャンネル数:2 272: ビット精度:32bit 272: サンプリングレート:48000Hz 272:XAudio2 の初期化は正常に終了しました 274:DirectDraw オブジェクトの取得を行います.... 成功 280:引き続き初期化処理... 初期化に成功しました 334:IDirect3D9Ex オブジェクトを取得します.... 成功 336:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します 592:成功 592:Driver:igdumd32.dll Description:Intel(R) HD Graphics 4000 593:画面のフォーマットは D3DFMT_X8R8G8B8 です 593:16bit Zバッファフォーマットは D3DFMT_D16 です 593:24bit Zバッファフォーマットは D3DFMT_D24X8 です 594:32bit Zバッファフォーマットは D3DFMT_D24X8 です 594:16bit カラーフォーマットは D3DFMT_R5G6B5 です 594:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 594:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です 594:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 595:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です 595:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 595:DXT1テクスチャフォーマットはD3DFMT_DXT1 です 595:DXT2テクスチャフォーマットはD3DFMT_DXT2 です 595:DXT3テクスチャフォーマットはD3DFMT_DXT3 です 595:DXT4テクスチャフォーマットはD3DFMT_DXT4 です 595:DXT5テクスチャフォーマットはD3DFMT_DXT5 です 596:描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です 596:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です 596:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です 596:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です 596:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です 596:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です 597:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です 597:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 597:描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です 597:描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です 597:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です 597:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です 598:描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です 598:描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です 598:一度に描画できるプリミティブの最大数:1048575 598:対応している最大頂点インデックス:16777215 598:同時にレンダリングできるバッファの数:4 599:最大テクスチャサイズ 幅:8192 高さ:8192 599:テクスチャステージテンポラリレジスタ:使用可 599:減算合成のハードウェア対応:ネイティブ 599:ハードウェア頂点シェーダーバージョンコード:300 599:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し 599:ピクセルシェーダーバージョンコード:300 615:バックバッファロック転送の時間:1783nsec 一時的な描画可能バッファを使用した転送の時間:1188nsec 616:バックバッファロックを使用しません 616:Zバッファを作成します.... 成功 630:プログラマブルシェーダーを使用します 689:フォントの初期化を行います 689:フォントの初期化は正常に終了しました 694:文字コードバッファの初期化を行います... 完了しました 774:GetGlyphOutline 関数が失敗しました 774:GetGlyphOutline 関数が失敗しました 774:GetGlyphOutline 関数が失敗しました 775:GetGlyphOutline 関数が失敗しました 775:GetGlyphOutline 関数が失敗しました 775:GetGlyphOutline 関数が失敗しました 775:GetGlyphOutline 関数が失敗しました 775:GetGlyphOutline 関数が失敗しました 776:GetGlyphOutline 関数が失敗しました 776:GetGlyphOutline 関数が失敗しました 776:GetGlyphOutline 関数が失敗しました 776:GetGlyphOutline 関数が失敗しました 777:GetGlyphOutline 関数が失敗しました 777:GetGlyphOutline 関数が失敗しました 777:GetGlyphOutline 関数が失敗しました 778:GetGlyphOutline 関数が失敗しました 778:GetGlyphOutline 関数が失敗しました 778:GetGlyphOutline 関数が失敗しました 778:GetGlyphOutline 関数が失敗しました 778:GetGlyphOutline 関数が失敗しました 778:GetGlyphOutline 関数が失敗しました 779:GetGlyphOutline 関数が失敗しました 779:GetGlyphOutline 関数が失敗しました 779:GetGlyphOutline 関数が失敗しました 779:GetGlyphOutline 関数が失敗しました 779:GetGlyphOutline 関数が失敗しました 779:GetGlyphOutline 関数が失敗しました 780:GetGlyphOutline 関数が失敗しました 781:GetGlyphOutline 関数が失敗しました 781:GetGlyphOutline 関数が失敗しました 781:GetGlyphOutline 関数が失敗しました 781:GetGlyphOutline 関数が失敗しました 781:GetGlyphOutline 関数が失敗しました 782:GetGlyphOutline 関数が失敗しました 782:GetGlyphOutline 関数が失敗しました 782:GetGlyphOutline 関数が失敗しました 782:GetGlyphOutline 関数が失敗しました 782:GetGlyphOutline 関数が失敗しました 782:GetGlyphOutline 関数が失敗しました 783:GetGlyphOutline 関数が失敗しました 783:GetGlyphOutline 関数が失敗しました 783:GetGlyphOutline 関数が失敗しました 783:GetGlyphOutline 関数が失敗しました 783:GetGlyphOutline 関数が失敗しました 785:GetGlyphOutline 関数が失敗しました 785:GetGlyphOutline 関数が失敗しました 785:GetGlyphOutline 関数が失敗しました 785:GetGlyphOutline 関数が失敗しました 785:GetGlyphOutline 関数が失敗しました 786:GetGlyphOutline 関数が失敗しました 786:GetGlyphOutline 関数が失敗しました 786:GetGlyphOutline 関数が失敗しました 786:GetGlyphOutline 関数が失敗しました 786:GetGlyphOutline 関数が失敗しました 786:GetGlyphOutline 関数が失敗しました 786:GetGlyphOutline 関数が失敗しました 788:GetGlyphOutline 関数が失敗しました 789:GetGlyphOutline 関数が失敗しました 789:GetGlyphOutline 関数が失敗しました 789:GetGlyphOutline 関数が失敗しました 789:GetGlyphOutline 関数が失敗しました 789:GetGlyphOutline 関数が失敗しました 790:GetGlyphOutline 関数が失敗しました 790:GetGlyphOutline 関数が失敗しました 790:GetGlyphOutline 関数が失敗しました 790:GetGlyphOutline 関数が失敗しました 791:GetGlyphOutline 関数が失敗しました 792:GetGlyphOutline 関数が失敗しました 792:GetGlyphOutline 関数が失敗しました 792:GetGlyphOutline 関数が失敗しました 792:GetGlyphOutline 関数が失敗しました 792:GetGlyphOutline 関数が失敗しました 793:GetGlyphOutline 関数が失敗しました 793:GetGlyphOutline 関数が失敗しました 793:GetGlyphOutline 関数が失敗しました 793:GetGlyphOutline 関数が失敗しました 793:GetGlyphOutline 関数が失敗しました 793:GetGlyphOutline 関数が失敗しました 795:GetGlyphOutline 関数が失敗しました 795:GetGlyphOutline 関数が失敗しました 795:GetGlyphOutline 関数が失敗しました 795:GetGlyphOutline 関数が失敗しました 796:GetGlyphOutline 関数が失敗しました 796:GetGlyphOutline 関数が失敗しました 796:GetGlyphOutline 関数が失敗しました 796:GetGlyphOutline 関数が失敗しました 796:GetGlyphOutline 関数が失敗しました 797:GetGlyphOutline 関数が失敗しました 797:GetGlyphOutline 関数が失敗しました 797:GetGlyphOutline 関数が失敗しました 797:GetGlyphOutline 関数が失敗しました 799:GetGlyphOutline 関数が失敗しました 799:GetGlyphOutline 関数が失敗しました 799:GetGlyphOutline 関数が失敗しました 799:GetGlyphOutline 関数が失敗しました 799:GetGlyphOutline 関数が失敗しました 800:GetGlyphOutline 関数が失敗しました 800:GetGlyphOutline 関数が失敗しました 800:GetGlyphOutline 関数が失敗しました 800:GetGlyphOutline 関数が失敗しました 800:GetGlyphOutline 関数が失敗しました 800:GetGlyphOutline 関数が失敗しました 801:GetGlyphOutline 関数が失敗しました 801:GetGlyphOutline 関数が失敗しました 801:GetGlyphOutline 関数が失敗しました 801:GetGlyphOutline 関数が失敗しました 803:GetGlyphOutline 関数が失敗しました 803:GetGlyphOutline 関数が失敗しました 803:GetGlyphOutline 関数が失敗しました 803:GetGlyphOutline 関数が失敗しました 803:GetGlyphOutline 関数が失敗しました 803:GetGlyphOutline 関数が失敗しました 804:GetGlyphOutline 関数が失敗しました 804:GetGlyphOutline 関数が失敗しました 804:GetGlyphOutline 関数が失敗しました 804:GetGlyphOutline 関数が失敗しました 804:GetGlyphOutline 関数が失敗しました 804:GetGlyphOutline 関数が失敗しました 805:GetGlyphOutline 関数が失敗しました 805:GetGlyphOutline 関数が失敗しました 805:GetGlyphOutline 関数が失敗しました 805:GetGlyphOutline 関数が失敗しました 805:GetGlyphOutline 関数が失敗しました 805:GetGlyphOutline 関数が失敗しました 806:GetGlyphOutline 関数が失敗しました 806:GetGlyphOutline 関数が失敗しました 806:GetGlyphOutline 関数が失敗しました 806:GetGlyphOutline 関数が失敗しました 806:GetGlyphOutline 関数が失敗しました 808:GetGlyphOutline 関数が失敗しました 808:GetGlyphOutline 関数が失敗しました 808:GetGlyphOutline 関数が失敗しました 808:GetGlyphOutline 関数が失敗しました 808:GetGlyphOutline 関数が失敗しました 808:GetGlyphOutline 関数が失敗しました 809:GetGlyphOutline 関数が失敗しました 809:GetGlyphOutline 関数が失敗しました 809:GetGlyphOutline 関数が失敗しました 809:GetGlyphOutline 関数が失敗しました 809:GetGlyphOutline 関数が失敗しました 810:GetGlyphOutline 関数が失敗しました 810:GetGlyphOutline 関数が失敗しました 810:GetGlyphOutline 関数が失敗しました 810:GetGlyphOutline 関数が失敗しました 810:GetGlyphOutline 関数が失敗しました 810:GetGlyphOutline 関数が失敗しました 811:GetGlyphOutline 関数が失敗しました 811:GetGlyphOutline 関数が失敗しました 811:GetGlyphOutline 関数が失敗しました 811:GetGlyphOutline 関数が失敗しました 2922:ウインドウを閉じようとしています 2928:ウインドウが破棄されようとしています 2929:ソフトを終了する準備が整いました 2931:フォントの初期化を行います 2932:フォントの初期化は正常に終了しました 2941:Direct3DDevice9 の解放 2 2953:Direct3D9 DLL の解放 1 2955:DirectInput 関連の終了処理... 完了 2996: 2996:Alloc memory dump 2996: Total size:0(0.000kb) Alloc num:0 2996: 画像 ------------------------------------------------------------ 左:実行画面 右:VC++デバッグ中(EnumFontName直後)のメモリウインドウ ttp://p.tl/15Nr
メンテ

Page: 1 |

Re: 列挙成功したフォントの中に使用できないフォントがあります ( No.1 )
名前:管理人 日時:2014/03/21 22:18

ご報告の問題は Ver3.11a で修正しました お手数で申し訳ありませんが最新バージョンか、こちらの暫定最新バージョンをお使いください m(_ _)m http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ
Re: 列挙成功したフォントの中に使用できないフォントがあります ( No.2 )
名前:mea 日時:2014/03/22 09:44

これは失礼しました。 最新版で正常に動作することを確認しました。 申し訳ありませんでした。 最新版を確認しないとだめですね…。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存