问题标签 [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.

0 投票
1 回答
4263 浏览

freetype - 使用jhbuild安装pango时如何修复hb-ft.h没有这样的文件或目录?

我有所有依赖项,由于我无法修复此错误,我从头开始安装 freetype 和 harfbuzz 仍然无法修复此致命错误,但此文件 (hb-ft.h) 存在于 /usr/include/harfbuzz/hb- ft.h 和 jhbuild/checkout/harfbuzz/src/hb-ft.h

0 投票
1 回答
183 浏览

unicode - Harfbuzz 在字体文件中选择本地斜线字符

我有一个名为 MyriadHebrew-Regular.otf 的系统字体

我使用的是“斜线”字符(代码 47),但后来我注意到 Adob​​e After Effects 使用的字符有点不同。然后我检查了 FontCreator 程序中的字体,发现可以使用默认字符( 47) 或它的本地化版本(显示为 slash.1),位于字体字形映射的末尾。其字形索引是 587。所以我一直在尝试使用 Harfbuzz 访问本地化字形:

在这段代码中,我预计 glyph_index = 587 (像 Adob​​e 后效中的本地值),但它仍然是 400(标准值)。

任何帮助将不胜感激。

0 投票
1 回答
925 浏览

freetype - 支持 HarfBuzz 的 GPOS 字距调整表

HarfBuzz 如何支持 GPOS 字距调整?在我的任务中,我使用 Myriad.otf 字体。我尝试通过函数获取字距调整信息hb_font_get_glyph_kerning_for_direction(....)。对于 TTF 字体,它可以工作,因为它使用 TrueTypekern表,但对于 Myriad.otf,它不起作用。

0 投票
1 回答
177 浏览

android - android ndk:dlopen 失败:找不到“hb_ft_face_create”

它在 androd 4.0 中运行良好,但在 android 4.4 和 5.0 中出现错误:java.lang.UnsatisfiedLinkError:dlopen 失败:找不到“libHelloWorld.so”引用的符号“hb_ft_face_create”...

我构建了共享库(harfbuzz-ng.so),hb_ft_face_create在harfbuzz-ng.so中,HelloWorld.so使用了函数hb_ft_face_create()和hb_ft_font_create()。</p>

但其他功能运行良好。我在ndk10和ndk11中测试。

0 投票
2 回答
1134 浏览

mingw - 如何构建 Cairo/Harfbuzz?

Cairo 依赖于 FontConfig。FontConfig 依赖于 Freetype。我已经构建了 FreeType,但是当我尝试构建 FontConfig 时出现链接错误,因为 FreeType 需要 HarfBuzz。

当我尝试构建 Harfbuzz 时,它依赖于 FreeType。因此我们有一个循环依赖。此时生成文件已损坏:当它尝试构建测试时,它们无法链接,因为它们需要来自 Harbuzz 本身的符号。这可以通过在链接行中使用两次 HarfBuzz 来解决。或者通过删除我所做的所有测试。这样就解决了这个问题。

Harfbuzz 有一个名为“helper-cairo.cc”的文件。当我尝试编译它时,它抱怨缺少 FontConfig 头文件,因此显然存在对 FontConfig 的依赖。但是,如果不先构建 HarfBuzz,我就无法构建 FontConfig!

我不知道如何解决这种依赖关系。也许我可以在构建 HarfBuzz 时禁用 Cairo 助手,使用生成的库来构建 FontConfig,然后使用生成的 FontConfig 重新构建 HarfBuzz,然后重新构建 FontConfig?这一切似乎都是一个大麻烦。

我正在使用 MinGW 构建,而 Windows DLL 不喜欢未解析的符号,所以我认为我无法使用共享库来解决这个问题。我不太确定为什么在链接 FontConfig 时需要 HarfBuzz - 也许它正在尝试构建一个 DLL :(

任何想法如何在不丢失重要功能的情况下解决这个问题?

0 投票
1 回答
475 浏览

freetype - 使用带有 Freetype2 缓存 (FTC) 的 Harfbuzz

我目前正在使用 Harfbuzz 和 Freetype 缓存,使用 FTC_ImageCache_Lookup 来获取我的字形。根据 FreeTypes 文档,我们不应在使用其缓存时调用 FT_Set_Char_Size (请参阅此处)。相反,FTC_ImageCache_Lookup 接收字形的请求高度。

问题是如果不设置字体大小,Harfbuzz 将无法计算某些字形的正确定位(例如,“SARA U”字形)。

有没有办法解决?

0 投票
1 回答
63 浏览

python - 如何用 cython 包裹 hb.h

我正在为hb.h和 require编写一个包装器hb_buffer_create()hb_buffer_add_utf8()以及hb_shape()许多其他要在 python 代码中使用的文件。但是这个文件只包含其他包含文件。我应该也将这些头文件extern 或者我只在 hb 的 extern 下编写 require 项。H。

0 投票
1 回答
412 浏览

harfbuzz - HarfBuzz 中 hb_position_t 使用的单位

我一直在看这个页面,以及这个代码示例,我注意到x_advance,和y_advance中的字段是类型,它是. 我还没有找到有关这些字段使用哪些单位的任何文档。上面的例子表明它们是某种东西的 64 分之几,但我只能推断出这些。x_offsety_offsethb_glyph_position_thb_position_tint32_t

有其他人知道 所暗示的确切单位hb_position_t吗?

0 投票
2 回答
1227 浏览

c++ - 在 Apple Color Emoji 中使用 Harfbuzz 和 Freetype 的 Emoji 修饰符和 ZWJ 序列

我正在使用 Freetype 1.9.1 和 Harfbuzz 1.7.6 来渲染可能包括表情符号的文本,但是我不知道如何正确渲染来自 Apple Color Emoji(sbix颜色字体)的表情符号修饰符和 ZWJ 序列。

我还尝试了 Noto Color Emoji(CBDT/CBLC color font),它按预期工作,以及 Segoe UI Emoji(COLR/CPAL color font),它呈现黑白字形,但似乎对 COLR/CPAL 的支持是只是在 Freetype中开发,因此对我来说不是问题。

有人对使用 sbix 字体的注意事项有任何提示吗?集群类型?Harfbuzz 标志...?

预期行为

Apple Color Emoji——不行

Noto Color Emoji -- 好的

0 投票
0 回答
422 浏览

fonts - 如何使用 Freetype、Harfbuzz 和 Fontconfig 执行字形替换

我目前正在使用 Freetype、Harfbuzz 和 Fontconfig在McCLIM中实现字体渲染。只要我选择了正确的字体,我就可以使用这些库很好地渲染文本。

我现在的主要问题是如何处理丢失的字形。如果我使用 Source Code Pro 渲染某些内容,并且文本包含此字体中不存在的符号(例如希腊字符),我想选择一个不同字体的字符。

这应该怎么做?据我所知,没有办法轻松找到具有给定字形的字体,即使我搜索了所有字体,我该如何选择最合适的字体?

我一直找不到任何文档来解释如何有效地执行此操作,并且我一直在使用的主要文档来源 libXft 没有实现字体替换。