I used c# Graphics.DrawString method to draw text overlays on images. It can draw Turkish characters even if operating system does not have Turkish language package. However i am using directx-9 to draw now because of performance issues. If operating system has Turkish language package , directx draws Turkish characters, but if not, it does not draw.
Is there a way to draw Turkish characters via directx even if operating system does not have Turkish language package?
String comes from c# to c++ via wrapper.
drawStringWrapper(System::String^ text)
{
char* textPtr = (char*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(text).ToPointer();
drawStringD3DX(textptr);
}
This is how i create font,
D3DXCreateFont(dev,fontSize,0,FW_NORMAL,1,false,TURKISH_CHARSET,OUT_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH | FF_MODERN, L"Arial", &d3dxFont);
I tried ANSI_CHARSET
and DEFAULT_CHARSET
. Also i tried different fonts, ex:L"Generic Sans Serif"