Я использовал метод c # Graphics.DrawString для рисования текстовых наложений на изображениях. Он может рисовать турецкие символы, даже если в операционной системе нет пакета турецкого языка. Однако я использую DirectX-9 для рисования из-за проблем с производительностью. Если в операционной системе установлен пакет на турецком языке, DirectX рисует турецкие символы, но если нет, он не рисует.
Есть ли способ рисовать турецкие символы через DirectX, даже если в операционной системе нет пакета турецкого языка?
Строка поступает из c # в c ++ через оболочку.
drawStringWrapper(System::String^ text)
{
char* textPtr = (char*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(text).ToPointer();
drawStringD3DX(textptr);
}
Вот как я создаю шрифт,
D3DXCreateFont(dev,fontSize,0,FW_NORMAL,1,false,TURKISH_CHARSET,OUT_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH | FF_MODERN, L"Arial", &d3dxFont);
Я пытался ANSI_CHARSET
и DEFAULT_CHARSET
. Также я пробовал разные шрифты, например: L"Generic Sans Serif"