在某些字体上,我无法让 SDL_TTF 呈现某些字形(例如……),即使我知道它们存在(如果我在 gedit 中使用相同的字体,它也可以正常工作)。
生成文件:
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;
}