问题标签 [harfbuzz]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 无法安装 Harf Buzz - 文本整形引擎
我正在使用 harfbuzz 来塑造字体。我是python的新手。我按照Harf Buzz中给出的说明进行操作
但我无法理解这些行
确保您在LD_LIBRARY_PATH中有安装 lib 目录,这是链接器查找库所需的。
然后确保你还有GI_TYPELIB_PATH指向生成的 $prefix/lib/girepository-* 目录。
在自述文件中。因此,我无法执行src/sample.py。因为这个我得到
Traceback (most recent call last):
File "sample.py", line 8, in <module>
from gi.repository import HarfBuzz as hb
ImportError: cannot import name HarfBuzz
提前致谢。
c++ - ld: -bind_at_load 和 -bitcode_bundle (Xcode 设置 ENABLE_BITCODE=YES) 不能一起使用
我设置了以下编译器和链接器设置,用于为我的 IOS 库构建 harfbuzz:
之后,我运行 make 命令,我得到以下错误: ld: -bind_at_load 和 -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together. 以下是堆栈跟踪:
编辑:我更新的链接器和编译器设置
shapes - Harfbuzz - 文本到字形到文本
最近,我遇到了 Harfbuzz 用于文本塑造,特别是印度文本。在我之前的经验中,我使用ArabicShaping来塑造阿拉伯字符。在这种情况下,输入是预成形的文本,输出是成形的文本。
然而,在 Harfbuzz 中,我可以看到shape方法对文本进行整形并返回字形和集群。我的目标是将预成形文本转换为成形文本。我不想绘制/查看文本。我只想要一个 char[] 它将包含形状的字符(就像在 ArabicShaping 的情况下一样)。
- 有什么方法可以使用 Harfbuzz 实现上述目标?如果没有,是否有任何解决方法?
- 我是否使用 Harfbuzz 来解决正确的问题?有没有其他库可以用来实现这一目标?
c++ - 有谁知道为什么带有 FreeType 的 HarfBuzz 只是呈现“????????????”
我已经编译了这个 HarfBuzz 示例,我得到的效果图只是“??????????????????”。
我正在编译的示例是这个https://github.com/tangrams/harfbuzz-example
输出应该类似于示例的 github 页面上显示的内容,但我只是得到“???? ??? ????” 对于所有不同的文本。
这是程序的输出,所以它似乎正确地加载了示例附带的字体,尽管这些名称看起来相当通用:
这些是它试图渲染的字符串:
如果我将字符串更改为英文字符,它们会呈现正常,这让我认为字体不包含正确的语言,但据我所知,它正在加载示例附带的字体,我确实尝试更改有人告诉我的阿拉伯字体肯定包含阿拉伯字体。
我正在使用 C++17 进行编译。如果有人提到它,我已经读过它:https ://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode -and-character-sets-no-excuses/
有谁知道为什么我只是得到问号?我需要启用 UTF-8 的编译器设置吗?编译器是否有可能剥离 UTF-8 字符串?
谢谢!
python - 是否有一些 python 工具或软件工具可以访问字体内的所有组件和表格?
我的最终目标是创建一个从glyph_id
到的映射unicode_chars
。该映射将是有序的,glyph_id --> uni_1, uni_2, uni_3 ...
因为单个字形可以映射到许多有序unicode_characters
的 .
我正在寻找一些工具或库,最好是在 python 中,通过它我可以访问所有元信息,例如字体内的表格。
另外,我正在寻找一些可靠的来源,通过它我可以了解将多个 Unicode 映射到字形的过程。
我知道像 harfbuzz 这样的工具会在给定的 Unicode 字符串上生成(字形,位置)对。但我不确定它是否相反。
各种帮助将不胜感激。
python - HarfBuzz language_from_string Python自省方法不接受str
我刚刚开始使用 HarfBuzz,并已切换到使用GObject Introspection 接口来探索其 API。到目前为止,一切都很容易,但我有点困惑language_from_string
,它具有以下文档字符串:
language_from_string(str:list) -> HarfBuzz.language_t
即在 IPython 中,我这样做:
在 vanilla Python 中,您可以将最后一行替换为:(print(HarfBuzz.language_from_string.__doc__)
或类似的)
如果我用字符串调用此方法,例如:
我明白了
返回,而如果我先转换为代码点列表:
错误消失了,我得到了一些有用的东西。例如我可以这样做:
我得到了预期的en
回报,在一个字符串中。
HarfBuzz Issue #91是关于这种方法的,但似乎并不相关。
opentype - HarfBuzz - 有没有办法获得特定字体的最大前瞻/回溯字形计数?
我们正在开发一个使用 HarfBuzz 处理 OpenType 的文本编辑程序。当用户键入时,我们正在使用 HarfBuzz 对键入后的文本进行重新分析,因此我们将获得正确的 GSUB 等等。
我们希望尽可能分析较少的文本。
我们试图找到如何使用 HarfBuzz 获取有关特定字体的信息,有关在 OpenType 表中此字体的不同查找中定义的前瞻或回溯的最大长度。
有没有办法使用 HarfBuzz 获得“lookaheadGlyphCount”和“backtrackGlyphCount”。
请参阅有关 LookupType 6 和 LookupType 8 的Microsoft 文档
编辑 :
有关更多说明,请参阅 TypeDrawers - Here上的此问题。
c - 如何使用 fribidi 重新排序双向文本
我有一个组合的英语-ASCII/阿拉伯语-Unicode 字符串,例如:
3 Unicode 阿拉伯字符 + 空格 + 3 ASCII 英文字符 + 空格 + 2 Unicode 阿拉伯字符
UTF8:"\xD9\x85\xD8\xAA\xD9\x86\x20\x31\x32\x33\x20\xD9\x8C\xD8\xA9"
UTF16: "\xFEE3\xFE98\xFEE3\x20\x31\x32\x33\x20\xFBFE\xFB8F"
对于像上面那样以联合形式显示文本,我的嵌入式设备 API 以相反的顺序接受 Unicode 阿拉伯语表示形式 B。因此,我需要将此字符串重新排序为以下形式:
重新排序的 UTF16:“\xFB8F\xFBFE\x20\x31\x32\x33\x20\xFEE3\xFE98\xFEE3”
并将其转换为 UTF8 Presentation Form B:
UTF8_FormB:"\xef\xae\x8f\xef\xaf\xbe\x20\x31\x32\x33\x20\xef\xbb\xa6\xef\xba\x98\xef\xbb\xa3"
我的问题是关于重新排序的重新排序步骤
UTF16: "\xFEE3\xFE98\xFEE3\x20\x31\x32\x33\x20\xFBFE\xFB8F"
至
重新排序的 UTF16:“\xFB8F\xFBFE\x20\x31\x32\x33\x20\xFEE3\xFE98\xFEE3”
我想我需要使用 Fribidi 来做到这一点。这就是我使用 Fribidi 的方式:
但输出与输入完全相同。并且 Fribidi 而不是重新排序只是将输入复制到输出。方法标志等有什么问题吗?
harfbuzz - harfbuzz 是如何支持蒙古语布局的?
我正在做一个项目。UI是用QT开发的,需要在UI上显示蒙古文,但是UI上显示的蒙古文是一个单一的蒙古文字符。QT 的布局引擎使用 harfbuzz 库。harfbuzz源码中没有蒙古文相关模块。harfbuzz是否支持蒙古文布局?如果没有,任何其他图书馆都可以工作吗?
另一个,我在帮助手册中找到了一些信息。
https://harfbuzz.github.io/opentype-shaping-models.html [“阿拉伯语整形模型支持阿拉伯语、蒙古语、N'Ko、叙利亚语和其他几种连接或草书文字。” ]
这是否意味着蒙古语处理模块包含在阿拉伯语模块中?如果是这样,如何使阿拉伯语模块支持蒙古语布局?
linux - 如何为 Linux 实现 Uniscribe
我正在尝试为 Linux 实现 Uniscribe 以显示复杂的文本,例如阿拉伯语。这似乎是一项艰巨的任务。
我需要做的是实现以下 API:
- 检查字符串是否复杂。
- 获取字符串宽度。
- 获取下一段。
- 得到下一个休息。
- ...
我想使用/参考开源代码来做到这一点。
我已经阅读HarfBuzz
源代码好几个星期了,但没有得到它们的 API。仅使用HarfBuzz
来实现它们是否可行?看来我应该使用Pango
,但由于它的许可证,我不能这样做。有替代品吗?麻省理工执照没问题。
对我有ICU
帮助吗?