问题标签 [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.
c++ - 如何在没有依赖关系的情况下构建 harfbuzz
我想在 Windows 7 上构建最新harfbuzz-ng
的库。但在默认情况下,在构建系统中,我必须经过长期的追求才能获得:ragel
、、pkg-config
和gtkdocize
其他东西。即使最后我得到了构建系统的所有需求,我也会遇到错误(抱歉不能说出具体的错误),上次我尝试构建这个库是 2 个月前)。也许在 Linux 系统上很容易获得和构建所有这些东西,但在 Windows 上总是有些东西不想被编译。或者问题是我没有找到指导我在 Windows 上的说明,只有 Linux。
我想要得到的是简单的说明,如何harfbuzz-ng
freetype
在 Windows 上通过编译器仅使用依赖项(可能还有 add ICU
)进行构建。MinGW
非常感谢你。
c++ - 如何确定 unicode 字符的字体和布局信息?
我想在应用程序中呈现 Unicode 字符,并且我大致了解如何使用 freetype 处理标准拉丁字符。但是,对于具有不同布局和形状的其他语言,我不确定如何从 UTF-8 编码字符串中获得的一组字符变为:
选择合适的字体来显示字符
为角色选择正确的布局(LTR、RTL、TTB)
这些数据是否包含在 unicode 字符本身中(我不确定 Web 浏览器之类的其他应用程序如何弄清楚如何呈现文本)?
对于给定的 Unicode 字符,如何确定第 1 点和第 2 点?Freetype 有一些很棒的文档,并且谈论了很多关于使用不同布局的内容,但我没有看到您将如何从角色本身中提取所述信息。
我还快速浏览了 Harfbuzz,但找不到任何文档。有一个示例显示如何设置和使用 Harfbuzz 来布局某些语言,使用 Freetype 渲染字形,但该示例明确将布局、字体和语言信息传递给 Harfbuzz。
当你事先不知道这些事情时,你会怎么做?
这适用于移动应用程序,理想情况下,使用的库/解决方案将具有许可许可证。
cairo - 开放式字体问题
基本上,这是显示少数民族语言的问题。
让我简要介绍一下:
我一直在尝试使我的 Opentype 字体(其中包含一些功能)在非 Windows(在 Windows 上,它工作正常)平台(Android、iOS 等)上正常工作。
我真正要处理的是一个与显示阿拉伯语一样复杂的问题(包括字形替换、整形等)。
我只是想在我自己的软件中正确显示字符,因为系统范围的支持对我来说可能更复杂。
我检查了 ICU、Pango、Harfbuzz……最后决定在 Pango 上工作。参见 Pango ScriptGallery。
所以,这里有问题:
1.我可以在我的项目中使用pango作为支持模块来显示该语言吗?我试图在ubuntu上安装Pango,但没有成功。我现在很困惑,因为安装时Pango与harfbuzz、cairo、freetype、fontconfig blabla有关。2.如果不能,还有其他轻量级的方法可以实现吗?
任何帮助将不胜感激 。
text-editor - 通过 Harfbuzz 和 FreeType 在文本编辑器中显示混合复杂脚本
这里有一些背景: 我已经下载了这个例子并让它在我的 Ubuntu 上运行。一切安好。我将自己的 OpenType 字体放入项目中,它也可以正常工作!我确保HarfBuzz 支持我的字体和我的语言。现在我需要更进一步。
我需要一些指南:
在上面的例子中,三种语言都有自己的字体来支持显示。我的意思是,这三种语言是分开渲染的(就我对代码的理解而言)。
那么,如何让HarfBuzz在多种语言混合在一起时选择正确的字体并一次渲染呢?我的意思是,没有制作支持世界上所有语言的字体文件。
在这个例子中,中文脚本是垂直显示的(这正是我想要的),但是如果我将拉丁脚本的 text_directions 设置为
HB_DIRECTION_TTB
,这当然不是我想要的。我希望整个单词“拉丁”旋转 90 度。
那么,我该如何实现呢?如何在不破坏中文布局的情况下实现这一目标?
3 .最后但同样重要的是,在解决了上述问题后,我想制作一个文本编辑器来同时显示和编辑多种语言,同一个地方。我不知道我是否需要在 HarfBuzz 或 FreeType 上做一些工作,或者实现一个支持这种复杂文本布局的文本编辑器?有什么可以参考的例子吗?
提前感谢您的帮助。
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)的未定义引用。
那么我该如何解决未定义的引用问题呢?
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.
freetype2 - 使用 Freetype/Harfbuzz 渲染文本并为其着色
我已经在 Freetype 中渲染了一个文本,并使用 Freetype 将其转换为位图。创建的位图存储在一个字符数组中,稍后由 Targa Reader 处理为 .tga 图像。现在,我如何以及何时为将字形转换为位图时的字形,还是应该使用 Freetype 或 Harfbuzz 对其进行着色?
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。
fonts - fontconfig 中 fc-cache 的用途是什么?
我浏览了 fontconfig 的文档,我可以理解 fc-match 和 fc-list 的用途。我不明白 fc-cache 是做什么的?它如何帮助设备理解与字体相关的内容?
谁能解释一下 fontconfig 中 fc-cache 的用途是什么?
谢谢。
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。