c - 显示带有特殊字符的字体 - UTF-8

标签 c linux utf-8 fonts

我正在尝试在 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/

相关文章:

c - 解决 C 中链表计数函数的边界错误

c - docker 环境中不支持的系列套接字失败

linux - 了解 RaspberryPi 图像

c++ - 用于嵌入式项目的 C/C++ HTTP 客户端库

c - 在 C 中使用 exp101 和 log101 函数

linux - sed 切片并在文件中追加行

linux:如何删除这种名称为 "test\download\"的文件?

c++ - 如何将 std::string 写入 UTF-8 文本文件

java - 如何使用 JavaApi 将重音字符从 XML 写入 MarkLogic?

regex - 如何使用 perl 正则表达式检测阿拉伯字符?