일본어 퀴즈 프로그램을 작성 중이며 Windows XP 용 동아시아 언어 팩을 사람들이 설치하지 않도록하고 싶습니다. 텍스트 그리기에 GDI +를 사용하고 있습니다. 무료 유니 코드 글꼴을 다운로드하여 텍스트를 그려 보았습니다. 내 컴퓨터에서 동아시아 팩이 설치된 상태에서 테스트했는데 다운로드 한 글꼴을 사용하여 올바르게 일본어 문자를 표시했지만 언어 팩이없는 다른 컴퓨터에서는 제대로 작동하지 않았습니다.Windows XP에서 동아시아 언어 팩을 설치하지 않고 GDI +를 사용하여 일본어 텍스트를 표시하는 데 도움이 필요합니다.
이 작업을 수행하는 방법에 대한 제안을 찾고 있습니다. 이 프로그램은 매우 단순하며 Win32 API, GDI + 및 STL 만 사용하여 C++로 작성되었습니다. 가능하다면 나는이 도서관들에 충실하고 싶다. 유니 코드 #가 정의되어 있습니다. 나는 기본적으로 텍스트를 그리기 위해 사용하고
코드는 아래에 붙여 :
#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) ;
c_str() 메서드를 호출하면 신중하게 만들어진 일본어 유니 코드 문자열이 횡설수설 해집니다. –
아니요, 그렇지 않습니다. 거기서 당신을 비난 할 수는 없으며, 시험의 정의가 빠져 있습니다. 그것은 std :: wstring이 될 것입니다. – MSalters
미안하지만, 나는 할 수있는 한 "여분의"재료를 많이 남기려고했다. 예, 텍스트는 std :: wstring입니다. 나는 그 정보를 포함하도록 질문을 편집 할 것입니다. – Bakanekobrain