http://www.soenlab.com 에 있는 예제를 그대로 복붙했지만 그래도 한번만들어 봤다는것에 의미를 둔다.
핵심 소스는 아래와 같다. GDI를 이용해 글씨를 출력하기 때문에 글씨가 그려지는것이 눈에보인다.
다음에는 OpenGL을 이용해서 출력해봐야 겠다.
hdc=BeginPaint(hWnd, &ps); // 폰트 읽음 error=FT_New_Face(library,"c:\\windows\\fonts\\batang.ttc",2,&face); if (error != 0) { // 에러 처리 } // 글리프 인덱스 구함 index = FT_Get_Char_Index(face,TEXT('읭')); if (index == 0) { // 에러 처리 } // 크기 설정 error=FT_Set_Char_Size(face, 256 * 64, 0, GetDeviceCaps(hdc,LOGPIXELSX), GetDeviceCaps(hdc,LOGPIXELSY)); // 글리프 로드 error=FT_Load_Glyph(face,index,FT_LOAD_DEFAULT | FT_LOAD_NO_BITMAP); // 랜더링 error=FT_Render_Glyph(face->glyph, FT_RENDER_MODE_NORMAL); // 화면으로 출력 width=face->glyph->bitmap.width; height=face->glyph->bitmap.rows; for (y=0;y<height;y++) { for (x=0;x<width;x++) { // 해당 픽셀의 색을 갖고온다. Color=255-face->glyph->bitmap.buffer[y*width+x]; if (Color != 255) { // 비트맵의 해당좌표의 픽셀이 값을 갖고있으면 화면에 점을 찍어준다. SetPixelV(hdc,0+face->glyph->bitmap_left+x, 300-face->glyph->bitmap_top+y,RGB(Color,Color,Color)); } } } FT_Done_Face(face); EndPaint(hWnd, &ps);