将字体从 WOFF(Web 开放字体格式)转换为可在 MS Word 中使用的格式

将字体从 WOFF(Web 开放字体格式)转换为可在 MS Word 中使用的格式

我从网站下载了一个 WOFF 文件,想将其转换为 Microsoft Word 文档等。有没有免费的方法可以做到这一点?经过多方搜索,我还是没找到方法,所以我向超级用户寻求帮助。

答案1

是的WOFF 格式是基于表的 sfnt 结构的容器(TrueType 和 OpenType 使用)。它向 TTF/OTF 字体添加一些元数据,还可以压缩实际字体数据。

如果你想从 WOFF 转换为包装的 TTF/OTF 字体,你可以使用woff2sfnt 工具由 Mozilla 的 Jonathan Kew 创建。他为sfnt2woff 工具(从 TTF/OTF 转换为 WOFF)适用于 OS X 和 Windows,但不适用于 woff2sfnt-tool(从 WOFF 转换为 TTF/OTF),因此您必须从源代码进行编译。如果您有一个可用的编译器工具链,这很容易做到 — 只需下载源 zip 文件并运行make

当你有一个可以工作的 woff2sfnt 二进制文件时,你只需执行以下操作:

$ ./woff2sfnt font.woff > font.otf

生成的字体是您可以使用的普通 TTF/OTF 字体,但请注意,如果您从网站下载 WOFF 字体,则应遵守此字体的许可证。许可信息可以包含在 WOFF 元数据中。

答案2

按照 Erik Tjernlund 的链接,我下载了源代码并编译了适用于 Windows 的 i386 可执行woff2sfnt文件sfnt2woff您可以从我的 Dropbox 下载它。

(请注意,这也适用于 x86-64 机器。事实上,您无法为 x86-64 构建它,因为 Jonathan Kew 提供的二进制对象适用于 i386 架构类型。)

答案3

要在 macOS 上将 WOFF2 文件转换为 ttf,请尝试

brew install fonttools
ttx font.woff
ttx font.ttx

ttx font.woff会将您的文件转换.woff.ttx文件(XML 字体文件格式)。然后ttx font.ttx将转换.ttx.ttf

ttx font.ttx如果无法导入您获取的文件,您可以尝试将font.ttf其拖入字体册,阅读错误内容(单击字体名称旁边的下拉箭头)并在.ttx文件中修复它们。例如,我必须添加一个namerecord


对于批量转换请尝试

for f in *.woff; do ttx $f; done
for f in *.ttx; do ttx $f; done

我也尝试了谷歌的 woff2这个仓库

brew tap bramstein/webfonttools
brew install woff2
woff2_decompress font.woff

但这并未创建任何.ttf文件.otf


最后我用谷歌搜索了“fontname otf”并安装了它。

答案4

我得到了 woff2sfnt 源代码,用于为 Windows 10 x64 进行编译,以下步骤是从其他参考资料中拼凑起来的(即我在这里不声称任何原创想法)

  • Mozilla 源主机似乎已死,在这里找到它:https://github.com/wget/sfnt2woff...将所有内容提取到工作文件夹中
  • 用过的http://tdm-gcc.tdragon.net/作为友好的 gcc 编译器堆栈安装程序
  • 在 #ifdef WIN32 下的 woff2sfnt.c 顶部添加了 #include <fcntl.h>,此外还有已经存在的 io.h
  • 下载了 zlib 源代码http://www.zlib.net/并将其所有根 .c 和 .h 文件复制到我的工作文件夹中
  • 我的 gcc 命令行:gcc -o woff2sfnt.exe woff2sfnt.c woff.c compress.c uncompr.c deflate.c inflate.c adler32.c inffast.c crc32.c trees.c zutil.c inftrees.c

我意识到这都是非常蛮力的,因为我只是一个 C# 程序员,拥有现代工具的软肋,还没有学会以正确的方式使用 gcc。

相关内容