【初心者】スレを立てる前にココで質問を【Part13】at GAMEDEV【初心者】スレを立てる前にココで質問を【Part13】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト712:名前は開発中のものです。 07/03/04 13:34:27 dlOeAODf 質問です。 Windows98SEでGetGlyphOutline(GGO_GRAYn_BITMAP)を用いて文字を描画しているのですが、 CreateFontで指定した文字の太さが反映されず、標準の太さにしかなりません。 また、イタリック体に指定すると、左に傾いた文字(普通は右)になってしまいます。 TextOutで出力すると正常に動作しますし、同じコードをXPで試しても問題なく動きます。 原因や回避策をご存知の方は居られませんか? /* 再現コード */ /* 文字コードはSJIS */ GLYPHMETRICS gm; TEXTMETRIC tm; unsigned char * font; MAT2 mat2 = { {0,1}, {0,0}, {0,0}, {0,-1} }; HDC hDC = GetDC(hWnd); HFONT hFont = CreateFont(26,0,0,0, 700, // Weight 1, // Italic 0,0,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE,"MS ゴシック" ); HFONT hOldFont = (HFONT)SelectObject(hDC,hFont); GetTextMetrics(hDC,&tm); bufsize = GetGlyphOutline(hDC,'あ',GGO_GRAY8_BITMAP,&gm,0,NULL,&mat2); font = (unsigned char *)malloc(bufsize); GetGlyphOutline(hDC,'あ',GGO_GRAY8_BITMAP,&gm,bufsize,font,&mat2); SelectObject(hDC,hOldFont); ReleaseDC(hWnd,hDC); DeleteObject(hFont); ; // 描画処理 free(font); 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch