问题标签 [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 投票
3 回答
2922 浏览

c++ - 如何在没有依赖关系的情况下构建 harfbuzz

我想在 Windows 7 上构建最新harfbuzz-ng的库。但在默认情况下,在构建系统中,我必须经过长期的追求才能获得:ragel、、pkg-configgtkdocize其他东西。即使最后我得到了构建系统的所有需求,我也会遇到错误(抱歉不能说出具体的错误),上次我尝试构建这个库是 2 个月前)。也许在 Linux 系统上很容易获得和构建所有这些东西,但在 Windows 上总是有些东西不想被编译。或者问题是我没有找到指导我在 Windows 上的说明,只有 Linux。

我想要得到的是简单的说明,如何harfbuzz-ngfreetype在 Windows 上通过编译器仅使用依赖项(可能还有 add ICU)进行构建。MinGW

非常感谢你。

0 投票
1 回答
417 浏览

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

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

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

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

这些数据是否包含在 unicode 字符本身中(我不确定 Web 浏览器之类的其他应用程序如何弄清楚如何呈现文本)?

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

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

当你事先不知道这些事情时,你会怎么做?

这适用于移动应用程序,理想情况下,使用的库/解决方案将具有许可许可证。

0 投票
1 回答
534 浏览

cairo - 开放式字体问题

基本上,这是显示少数民族语言的问题。

让我简要介绍一下:

  1. 我一直在尝试使我的 Opentype 字体(其中包含一些功能)在非 Windows(在 Windows 上,它工作正常)平台(Android、iOS 等)上正常工作。

  2. 我真正要处理的是一个与显示阿拉伯语一样复杂的问题(包括字形替换、整形等)。

  3. 我只是想在我自己的软件中正确显示字符,因为系统范围的支持对我来说可能更复杂。

  4. 我检查了 ICU、Pango、Harfbuzz……最后决定在 Pango 上工作。参见 Pango ScriptGallery

所以,这里有问题:

1.我可以在我的项目中使用pango作为支持模块来显示该语言吗?我试图在ubuntu上安装Pango,但没有成功。我现在很困惑,因为安装时Pango与harfbuzz、cairo、freetype、fontconfig blabla有关。2.如果不能,还有其他轻量级的方法可以实现吗?

任何帮助将不胜感激 。

0 投票
1 回答
1198 浏览

text-editor - 通过 Harfbuzz 和 FreeType 在文本编辑器中显示混合复杂脚本

这里有一些背景: 我已经下载了这个例子并让它在我的 Ubuntu 上运行。一切安好。我将自己的 OpenType 字体放入项目中,它也可以正常工作!我确保HarfBuzz 支持我的字体和我的语言。现在我需要更进一步。

我需要一些指南:

  1. 在上面的例子中,三种语言都有自己的字体来支持显示。我的意思是,这三种语言是分开渲染的(就我对代码的理解而言)。

    那么,如何让HarfBuzz在多种语言混合在一起时选择正确的字体并一次渲染呢?我的意思是,没有制作支持世界上所有语言的字体文件。

  2. 在这个例子中,中文脚本是垂直显示的(这正是我想要的),但是如果我将拉丁脚本的 text_directions 设置为HB_DIRECTION_TTB,这当然不是我想要的。我希望整个单词“拉丁”旋转 90 度。

那么,我该如何实现呢?如何在不破坏中文布局的情况下实现这一目标?

3 .最后但同样重要的是,在解决了上述问题后,我想制作一个文本编辑器来同时显示和编辑多种语言,同一个地方。我不知道我是否需要在 HarfBuzz 或 FreeType 上做一些工作,或者实现一个支持这种复杂文本布局的文本编辑器?有什么可以参考的例子吗?

提前感谢您的帮助。

0 投票
1 回答
948 浏览

c++ - 在 Windows、Cygwin 上未定义对“hb_ft_font_create”的引用

当我尝试在 Windows 上使用 Cygwin 和 Eclipse CDT 编译程序时出现以下错误。

未定义对“hb_ft_font_create”的引用

我认为这是由 -l 参数的顺序引起的。基本上这个函数依赖于 Freetype2,但是 Freetype2 的 autohinter 也依赖于 Harfbuzz。这使它成为一个循环依赖问题。

如果我颠倒 -lharfbuzz 和 -lfreetype 之间的顺序,则会出现另一组错误,其中包含对其他一堆 harfbuzz 函数(不包括 hb_ft_font_create)的未定义引用。

那么我该如何解决未定义的引用问题呢?

0 投票
3 回答
3125 浏览

freetype - undefined reference to `hb_ft_font_create' on linux

When compiling pango I get this error:

I've compiled freetype and harfbuzz; also I pass -lfreetype and -lharfbuzz in LIBS variable.

0 投票
2 回答
1451 浏览

freetype2 - 使用 Freetype/Harfbuzz 渲染文本并为其着色

我已经在 Freetype 中渲染了一个文本,并使用 Freetype 将其转换为位图。创建的位图存储在一个字符数组中,稍后由 Targa Reader 处理为 .tga 图像。现在,我如何以及何时为将字形转换为位图时的字形,还是应该使用 Freetype 或 Harfbuzz 对其进行着色?

0 投票
1 回答
1066 浏览

centos - 在 CentOS 5 上安装 harfbuzz 1.0.1

我正在尝试在没有 sudo 访问权限的 CentOS 5 机器上安装 harfbuzz-1.0.1,因此需要安装到非标准位置。我已经下载并解压了源代码,并在我的$PKG_CONFIG_PATH. 这些软件包包括:

  • 自由型2
  • ICU-UC

检查“$PKG_CONFIG_PATH”是否正确:

在解压缩的源目录中,我运行:

但是,make失败并出现以下错误:

我无法从config.log文件中确定任何内容,但是我又不确定要查找什么。我猜也许某处存在未满足的依赖关系,但此时我有点不知所措。任何帮助将不胜感激,如果需要,我很乐意提供更多信息。非常感谢。

如果有帮助,这里是完整的 config.log

0 投票
1 回答
9286 浏览

fonts - fontconfig 中 fc-cache 的用途是什么?

我浏览了 fontconfig 的文档,我可以理解 fc-match 和 fc-list 的用途。我不明白 fc-cache 是做什么的?它如何帮助设备理解与字体相关的内容?

谁能解释一下 fontconfig 中 fc-cache 的用途是什么?

谢谢。

0 投票
1 回答
188 浏览

python-2.7 - 无法在 osx yosemite 上安装 Matplotlib、freetype 和 Harfbuzz

我正在尝试安装 matplotlib,但为此我需要 freetype。但是 freetype 没有安装,因为它需要 harfbuzz。但是后面./configure --with-glib=no的harfbuzz 在make列表末尾给出了我:

所以当我sudo make install之后运行时,我会在列表的末尾得到这个:

最后我想要的只是 IDLE 中的那一行

import matplotlib.pyplot as plt

工作,所以我可以开发我的图形界面。

疯狂的部分是 freetype 需要安装 harfbuzz。