最近有个项目使用到SDL_ttf库来渲染字体,但是遇到一点麻烦。大家在使用TTF_OpenFont()打开字体库之后,却无法更改字体大小,我们总不能关闭重新打开吧,因为那也太耗时了。于是乎决定修改源码,成功之后与大家分享。
1.SDL_ttf.h中添加函数extern DECLSPEC void SDLCALL TTF_SetFontSize(TTF_Font *font,int ptsize);
2.修改SDL_ttf.c
SDL_ttf使用的是freetype来加载字体库,然后再使用freetype获取字体编码绘制字体到SDL_Surface上。最初实验总是不成功,结果大量的实验,原来是没有清除font导致不正确;加上
Flush_Cache(font),成功搞定。
void TTF_SetFontSize(TTF_Font *font,int ptsize)
{
FT_Fixed scale;
FT_Error error;
FT_Face face;
face = font->face;
/