c++ - FreeType 中的 Unicode 问题

标签 c++ unicode fonts freetype

所以,我有一个解析 xml 的实现,其中包括维基百科主页的位置和字符串。解析是用 rapidxml 完成的,之后由 http://utfcpp.sourceforge.net/ 将字符串从 UTF-8 转换为 UTF-32。 .然后在 freetype 中使用 UTF-32 代码:

unsigned long c = FT_Get_Char_Index(face,*p);
FT_Load_Glyph(face,c,FT_LOAD_RENDER);

其中 *p 是 UTF-32 字符代码。然后在 OpenGL 中呈现此字形。

现在,我似乎无法使用 cryllic 字符,也无法使用任何中文、日文或越南文,我确信 *p 对应于正确的代码,如果能得到任何指示,我将不胜感激。

对于这些字体,使用 Microsofts arial.ttf,来自 Arch linux package从我在 fontviewing 程序中看到的,它应该包含我想要的字符。

最佳答案

两点建议:

首先,你打过FT_Select_Charmap吗?指定您使用的是 Unicode 编码?

FT_Select_Charmap(face , ft_encoding_unicode);

其次,并非所有 Arial 字体都包含所有字符,并且某些字体查看器(无论如何在 Windows 上)可能会通过自动替换不同字体的字形来产生误导。尝试 ArialUni.ttf如果你能找到它。

关于c++ - FreeType 中的 Unicode 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11501251/

相关文章:

react-native - 使用自定义字体与expo react 原生,每次加载字体

C++ 项目构建失败

c++ - 这种无锁的dlist插入安全吗?

c# - OSI 第 2 层网络编程

MySQL:查询 unicode 实体

html - 将 Google 字体与 SVG <object> 结合使用

c++ - 对 `Stack<char>::Stack()' 的 undefined reference

java - 如何在从数据库检索的页面中显示阿拉伯语 unicode 文本

javascript - 将复杂文本布局 Javascript unicode 字符串拆分为单个字符

css - 溢出时更改字体颜色