Drawtext дает '?'для некоторых турецких персонажей - PullRequest
3 голосов
/ 21 июня 2019

Я использовал метод 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"

...