我正在尝试在 linux 下运行的设备上显示类似 £ 的字符。 它使用的是 utf-8 字符集格式。 当我开始显示包含特殊字符的字符串时,它也会显示其他字符。 如果我在控制台上打印字符串,它看起来没问题,但是当我解析字符串以在屏幕上加载每个字母字体时,它变得很奇怪并且输出不正确。
有没有人遇到过这样的事情或者能给我一些建议。
谢谢。
最佳答案
如果字符串是UTF-8,则需要调用TTF_RenderUTF8_Solid()等。这就是 True Type 字体。
如果您有自己的字体和字形,那么您需要将 UTF-8 字符串转换为 UTF-16(最常用)或 UTF-32(在支持 i18n 的情况下),然后使用它索引到字形表中。
当字体超过 ASCII 限制时,您无法将 utf-8 字符串的单个字节解析为有效字符。
引用这些代码片段:http://unicode.org/faq/utf_bom.html
关于c - 显示带有特殊字符的字体 - UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2674873/