Lor*_*Aro 6 c++ fonts truetype sdl-ttf sdl-2
我不完全确定这是最好的地方,但我想不出更好的地方
我已经"制作"了一种低分辨率的字体.(奖励积分,如果你知道它实际来自哪里)
字体在gedit中工作正常:
但是,当尝试使用SDL_ttf渲染字体时,除了一些多字节unicode字符(特别是' æ '和' ℃ ')之外,它主要起作用,而其他非ASCII字符工作正常.但是(!),所有这些字符都适用于其他字体(我一直在使用DejaVu Sans)
其他字体工作正常的事实表明代码不应该受到责备,但以防万一:
SDL_Surface *surf = TTF_RenderUTF8_Solid(this->font, (const char *)text, col);
if (surf == nullptr) {
fprintf(stderr, "Rendering text failed (%s)\n", TTF_GetError());
return;
}
if (surf->format->BitsPerPixel != 8 || surf->format->BytesPerPixel != 1) {
fprintf(stderr, "Rendering text failed (Wrong surface format)\n");
return;
}
Run Code Online (Sandbox Code Playgroud)
(text is const uint8*)显然没有触发这些错误
我注意到这两个角色特别比其他角色更广泛,这可能是罪魁祸首吗?
根据下面的评论,字体似乎与SDL_TTF"latin-1"演示一起正常工作: