windows - 以编程方式将 CFF 字体转换为 OpenType 字体

标签 windows fonts gdi opentype compact-font-format

有没有人提供任何指示,让我可以找到有关如何围绕 CFF 字体创建 opentype 包装器的额外信息?

目前我有一个 CFF 文件的解析器,所以我可以从中获取各种信息(cmap、字形名称、宽度、名称等)。鉴于此信息,我无法创建 Opentype(类似 truetype 格式)包装器,因此我可以使用 GDI 在 Windows 上使用该字体; GDI 不会加载 Opentype 字体,我唯一知道的是它无法加载字体。

有谁知道任何其他信息、验证应用程序、示例代码、获取其他信息为什么字体无法从 Windows 等加载?

注意:我正在寻找如何操作的信息,而不是实用程序和/或转换工具。

最佳答案

到目前为止,我找到了三个您可以引用的库:

  1. FreeType:主要在cff 包中。它的主要入口是cff\cffload.c。图书馆现在在GitHub .
  2. FontForge:fontforge\parsettf.c,仍在 sf.net .
  3. fonttools:fonttools\cffLib.py,在 GitHub 上.
  4. ots 工具:cff.cc Google Code

parsettf.c 中,George Williams 写道 “TrueType 是一种非常讨厌的格式。” ...现在我更好地理解它似乎设计得更好,但文档仍然不一致。有时情况非常糟糕。

IMO,cff 规范同样糟糕。 也许它设计得更好。我可能最终会调查它以进行确认,但它可能太老了,不好用。

什么老东西好? parent 、数学和哲学:) 其他任何内容都必须是最新的!

关于windows - 以编程方式将 CFF 字体转换为 OpenType 字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779107/

相关文章:

python - 如何禁用 PyQt5 中的右键单击和小部件问题

iphone - 在 Cocos2d 中使用自定义字体

c++ - 如何将一个窗口保持在另一个应用程序窗口的前面

c++ - DirectWrite GDI 互操作 : Simple way to draw text using an `IDWriteFontFace`

windows - 在 Windows 32 位上构建 GMP

windows - 如何检测 CLR 抛出的异常?

c++ - 在 64 位 Windows 7 (msys2/mingw64) 上构建 GMP 6.1.0 : configure fails due to mp_limb_t is not 64 bits

delphi - 如何使用delphi xe5更改word中页码的字体

css - 字体 CSS 被覆盖

winapi - Win32 CreatePatternBrush