Я пишу викторину по японскому языку и не хочу требовать от людей установки языкового пакета для восточноазиатских языков для 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) ;