我如何使用 OpenType 表编写一个简单的程序来动态呈现文本?
请回答:
- assembly , C , C++ , C# , java 或 Python (还有一点 WPF:-)
或介绍它们的库。
欢迎大家对常见操作系统的文本渲染系统,或者设计兼容unicode 5.02协议的文本引擎提出意见和回答。
FreeType 仅提供基本渲染功能,不支持高级 OpenType 功能。许多年前,FreeType 1.x 包含一个提供 OpenType 功能的模块,但这变成了它自己的项目:HarfBuzz。如果您需要可以在任何地方(每个操作系统/平台)工作的东西,它应该是最好的解决方案。优秀的 pango 库为 HarfBuzz 等提供了高级接口。
Windows 提供了一个 OpenType 引擎,称为 Uniscribe。具有 ATSUI 的 OS X 也是如此。
这应该让你开始,我希望。
我不知道这是否能满足您的需求,但我过去曾使用FreeType库来呈现 TrueType 文本。它非常灵活,很容易在各种平台(Linux、Windows、OSX 等)之间移植。此外,许可(BSD 风格)使得在商业应用程序中使用它不是问题。
纯 C#,https://github.com/LayoutFarm/Typography
支持 .NET >=20
访问一般字形数据,
并访问高级排版数据。
(如GDEF、GSUB、GPOS)等。
下图显示了一些屏幕快照,
snap1 : 然后比较 lib 的渲染字形“B”
(左):来自库的字形,没有提示
(中):Windows 的 GDI 清晰类型(来自记事本)
(右):lib 中带有 True Hinting 的字形
snap 2:我正在开发自动提示和网格拟合。
对其进行测试,并随时发表评论、分叉、讨论。

快照 3:亚像素渲染
