我目前正在为 NekoVM 开发一个库创建到 Freetype 的绑定(bind)2. 它是用纯 c 语言编写的,一切都非常好用,除了当用户输入一些 unicode 字符,如“ü”、“Ä”或“ß”时,它们将被转换成一些丑陋的方形字母。
当我从你使用的 NekoVM 收到数据时 val_string
它返回一个 char*
。将数据推送到 freetype 的函数 ( FT_Load_Char
) 需要一个 unsigned long as char 代码。 (每个字母都单独处理。)
如何正确呈现字符?在将它们提交到 c 编写的库之前,我还可以选择将它们转换为任何 ISO-8859-XX 代码页。
最佳答案
小方框表示您的字符未包含在字体中。这可能意味着两件事:
使用包含这些字符的字体
使用正确的编码。参见 FT_CharMap和 FT_Encoding .
关于c - freetype (C) 的 Unicode 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524876/