0

我如何使用 OpenType 表编写一个简单的程序来动态呈现文本?

请回答:

  • assembly , C , C++ , C# , java 或 Python (还有一点 WPF:-)

或介绍它们的库。

欢迎大家对常见操作系统的文本渲染系统,或者设计兼容unicode 5.02协议的文本引擎提出意见和回答。

4

3 回答 3

2

FreeType 仅提供基本渲染功能,不支持高级 OpenType 功能。许多年前,FreeType 1.x 包含一个提供 OpenType 功能的模块,但这变成了它自己的项目:HarfBuzz。如果您需要可以在任何地方(每个操作系统/平台)工作的东西,它应该是最好的解决方案。优秀的 pango 库为 HarfBuzz 等提供了高级接口。

Windows 提供了一个 OpenType 引擎,称为 Uniscribe。具有 ATSUI 的 OS X 也是如此。

这应该让你开始,我希望。

于 2010-06-30T20:15:13.160 回答
1

我不知道这是否能满足您的需求,但我过去曾使用FreeType库来呈现 TrueType 文本。它非常灵活,很容易在各种平台(Linux、Windows、OSX 等)之间移植。此外,许可(BSD 风格)使得在商业应用程序中使用它不是问题。

于 2010-03-25T22:26:01.830 回答
1

纯 C#https://github.com/LayoutFarm/Typography

支持 .NET >=20

访问一般字形数据,

并访问高级排版数据。

(如GDEF、GSUB、GPOS)等。


下图显示了一些屏幕快照,

snap1 : 然后比较 lib 的渲染字形“B”

  1. (左):来自库的字形,没有提示

  2. (中):Windows 的 GDI 清晰类型(来自记事本)

  3. (右):lib 中带有 True Hinting 的字形

在此处输入图像描述


snap 2:我正在开发自动提示和网格拟合。

对其进行测试,并随时发表评论、分叉、讨论。

三角测量1


快照 3:亚像素渲染

子像素渲染

于 2016-10-21T14:59:49.747 回答