정상적인 코드를 만들어놓고 이상하게 안된다 싶었는데 FTGL이 폰트를 조금 가리네요.
윈도우에 기본으로 있는 굴림.ttc 로 바꾸니 해결되었습니다.
이전 포스팅에 이어 제대로 세팅하고 코딩했는데도 한글이 깨질때 생각해 볼 수 있는 문제점.
1. 폰트
- 이전에 쓰던 무료배포 폰트에서c:\Windows\Fonts 폴더에 있던 기본 폰트로 교환하자 최종적으로 제대로 된 한글이 출력되었습니다. 다른 문제점이 더이상 보이지 않는데도 한글이 안나오실땐 폰트를 바꿔보시길 추천해 드립니다.
2. 동적할당
- FTFont형 포인터를 new로 생성하실때, FTFont를 상속하는 여러가지 클래스로 생성이 가능한데요, 제 경우 FTPixmapFont 외에는 한글 출력에 문제가 조금 있었습니다. 저 개인의 문제인지 아님 원래 이런건지는 모르겠지만 입체로 출력하실게 아니라면 FTPixmapFont(폰트경로) 로 생성해보시기 바랍니다.
3. 출력 문자열
- 그냥 캐릭터배열로 쓰면 안되더라구요. 아마 FTGL 검색하셔서 레퍼런스를 많이 훑어보신 분들이면 다들 아시겠지만서도^^;;
저는 MultiByteToWideChar()를 이용해 멀티바이트를 와이드캐릭터로 변환하여 출력했습니다.
Application.h |
...
#define FONT_FILE "C:\\Windows\\Fonts\\gulim.ttc"
...
public: char m_strMsg[256]; FTFont* m_String; ... |
Application.cpp |
... // glInit() 함수 내부.. 사실 어디있든 별 상관은 없음;; m_String = new FTPixmapFont(FONT_FILE); m_wszString = new wchar_t[260];
...
// DrawGLScene() 함수 내부
strcpy(m_strMsg,"한글 나와라 뿅!!"); int nLen = MultiByteToWideChar(0, 0, m_strMsg, -1, NULL, NULL);
m_String->FaceSize(20);
...
|
진작에 제대로 돌아가는 소스코드는 다 만들어놓고 폰트파일이 병맛일꺼라곤 생각도 못했습니다 =ㅂ= ;;
저처럼 바보같은 실수 안하시길 빕니다 여러분ㅎㅎ;;