日本語のクイズ プログラムを書いていますが、Windows XP 用の東アジア言語パックをインストールする必要はありません。テキストの描画に GDI+ を使用しています。無料の Unicode フォントをダウンロードして、それを使用してテキストを描画してみました。私のコンピューター (東アジア パックがインストールされている) でテストしたところ、ダウンロードしたフォントを使用して日本語の文字が正しく表示されましたが、言語パックのない別のコンピューターでは機能しませんでした。
これを機能させる方法についての提案を探しています。プログラムは非常に単純で、Win32 API、GDI+、および STL のみを使用して C++ で記述されています。可能であれば、これらのライブラリだけに固執したいと思います。UNICODE #defined があります。
テキストの描画に基本的に使用しているコードを以下に貼り付けます。
#include <gdiplus.h>
using namespace Gdiplus ;
Graphics * gi ;
PrivateFontCollection _fonts ;
_fonts.AddFontFile(fontFilename) ;
Font * currentFont = new Font(fontName, fontSize, FontStyleRegular, UnitPoint, &_fonts) ;
std::wstring text = L"Some text" ;
gi->DrawString(text.c_str(), (INT)text.size(), currentFont, rectangle, &format, &brush) ;