gpt4 book ai didi

c++ - 如何确定 unicode 字符的字体和布局信息?

转载 作者:行者123 更新时间:2023-11-30 04:06:13 26 4
gpt4 key购买 nike

我想在应用程序中呈现 Unicode 字符,我大致了解如何使用 freetype 为标准拉丁字符做到这一点。但是,对于具有不同布局和形状的其他语言,我不确定如何从我在 UTF-8 编码字符串中获得的一组字符转到:

  1. 选择合适的字体显示字符

  2. 为字符选择正确的布局(LTR、RTL、TTB)

这些数据是否包含在 unicode 字符本身中(我不确定网络浏览器等应用程序如何确定如何呈现文本)?

对于给定的 Unicode 字符,如何确定点 1 和点 2? Freetype 有一些很棒的文档,并且谈论了很多关于使用不同布局的内容,但我没有看到您将如何从字符本身中提取所述信息。

我还快速浏览了 Harfbuzz,但找不到任何文档。周围有一个示例,展示了如何设置和使用 Harfbuzz 来布局一些语言,使用 Freetype 呈现字形,但该示例明确地将布局、字体和语言信息传递给 Harfbuzz。

如果您事先不知道这些事情,您会怎么做?

这是针对移动应用程序的,理想情况下,所使用的库/解决方案应具有宽松许可。

最佳答案

Unicode字符码位只对字符进行编码本身;它没有提供有关要使用的字体的信息,也不是布局,实际上也不是其他任何东西。获取信息关于布局等,Unicode 提供了一些文件,比如UnicodeData.txt,你可以下载使用。作为对于字体,每种字体都应该提供一些描述 rune 件排序,例如每个的宽度,高度和深度特点;这些文件也可以用来确定 whch字体支持的字符。

关于c++ - 如何确定 unicode 字符的字体和布局信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22994848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com