Я пишу программу для викторины на японском языке и не хочу, чтобы люди устанавливали восточноазиатский языковой пакет для Windows XP. Я использую GDI + для рисования текста. Я попытался загрузить бесплатный шрифт Unicode и использовать его для рисования текста. Я протестировал его на своем компьютере (с установленным пакетом Восточной Азии), и он правильно отображал японские символы, используя загруженный шрифт, но на другом компьютере без языкового пакета он не работал.
Я ищу предложения о том, как сделать эту работу. Программа довольно проста и написана на C ++ с использованием только Win32 API, GDI + и STL. Если возможно, я бы хотел придерживаться только этих библиотек. У меня есть 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) ;