2012-11-12 1 views
2

일부 글꼴의 경우 SDL_TTF를 사용하여 일부 글리프 (예 : ...)를 렌더링 할 수 없습니다 (심지어 같은 글꼴을 사용하는 경우 gedit , 그것은 잘 작동합니다).SDL TTF가 일부 글꼴에 줄임표를 표시하지 않음

메이크

:

test: test.c 
    gcc -o test -ansi -pedantic -Wall test.c `sdl-config --cflags --libs` -lSDL_ttf 

예 (TEST.C는)

#include <SDL/SDL.h> 
#include <SDL/SDL_ttf.h> 

int main(int argc, char *argv[]) { 
    SDL_Init(SDL_INIT_EVERYTHING); 
    TTF_Init(); 

    { 
     SDL_Event ev; 
     SDL_Color color = {255,255,255}; 
     SDL_Surface *win = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE | SDL_DOUBLEBUF); 
     TTF_Font *drawfont = TTF_OpenFont("./ProggySquareSZ.ttf", 22); 
     SDL_Surface *text_surface = TTF_RenderUTF8_Solid(drawfont,"…",color); 
     SDL_Rect r = {10, 10, 0, 0}; 
     SDL_BlitSurface(text_surface,NULL,win,&r); 

     SDL_Flip(win); 
     while(SDL_WaitEvent(&ev)) { 
      if(ev.type == SDL_QUIT) break; 
     } 
    } 

    return 0; 
} 

답변

2

이 폰트는 더 없다.

Name: ProggySquareTTSZ 
Supported Unicode Blocks 
    0x0000 - 0x00FF ANSI 

가로 줄임표는 0x00FF (255)보다 큰 U + 2026 코드를 갖습니다. 특정 문자가 에서 글꼴을 찾을 수없는 경우

은 아마 당신이 때문에 일부 운영 체제 및 소프트웨어의 gedit에서 를 참조하십시오, 그것은 표시 후 OS에 설치하고, 더 유사 글꼴에서 동일한로 대체되고있다.

+0

그럴 수도 있습니다. 포함시킨 정보는 어디서 얻었습니까? 다른 글꼴을 분석하여 필요한 글리프가 있는지 확인하고 싶습니다. – singpolyma

+0

wlxFont라는 이름의 오래된 총 사령관 플러그인을 사용합니다. http://users.telenet.be/liontech/Downloads.htm에서 찾을 수 있습니다. 글꼴에 관한 정보를 표시하는 다른 프로그램도 있다고 생각합니다. 그냥 Google로 보내주십시오. – tehten

+0

Аlso sdl_ttf에는 글꼴에 문자가 있는지 [TTF_GlyphIsProvided] (http://www.libsdl.org/projects/SDL_ttf/docs/SDL_ttf.html#SEC37) 함수가 있습니다. – tehten