我了解Online Font Converter之类的服务,但我对离线解决方案感兴趣,最好是通过命令行。有没有人知道如何将WOFF离线转换为OTF / TTF的工具或工作流程?
答案 0 :(得分:53)
答案 1 :(得分:3)
我一直在寻找这个,但是抱歉我找不到离线的但我发现了这个:
http://orionevent.comxa.com/woff2otf.html - 不再可用
非常好
编辑:找到命令行工具
https://superuser.com/questions/192146/converting-from-woffweb-open-font-format
答案 2 :(得分:2)
EverythingFonts has an online tool似乎运作良好。
如果您希望离线Erik Tjernlund's answer on Super User,可以downloaded the source编译woff2sfnt
和sfnt2woff
的可执行文件。
撰写本文时的最新版本是2009/09/09。不幸的是,我发现它似乎不适用于所有WOFF文件,有时会抱怨签名错误,有时只是提供一个损坏的OTF文件。
答案 3 :(得分:1)
我使用了上面链接的python脚本 barethon撰写online javascript converter of WOFF to OTF
答案 4 :(得分:1)
我意识到这个线程已经暂停一段时间了,但是在一些stackoverflow用户的帮助下,我能够使用上面提到的python脚本[woff2otf.py] @hanikesn来创建允许批量转换woff文件的工作流程。
如果不是原始海报的使用,那么对于遇到此线程寻找相同内容的其他人,请查看我的主题以获取有关如何执行此操作的详细信息:
Modify Python Script to Batch Convert all "WOFF" Files in Directory
即使您不需要批量转换,onlinefontconverter.com也会产生不可靠的结果,并且everythingfonts.com的转换限制为0.4 MB,除非您升级到付费帐户,并且两者都不必要耗费时间。离线解决方案。
祝你好运!答案 5 :(得分:1)
以下是制作WOFF文件的参考代码:http://people.mozilla.org/~jkew/woff/我有一面镜子:https://github.com/samboy/WOFF
要编译和安装,请确保安装了zlib开发库(例如,以root身份在CentOS6 yum -y install zlib-devel
中),然后
git clone https://github.com/samboy/WOFF
cd WOFF
make
然后,以root身份:
cp sfnt2woff /usr/local/bin
完成此操作后,要创建一个webfont,请输入包含.ttf文件的目录,然后运行sfnt2woff
sfnt2woff Chortle2014f.ttf
这将创建一个Chortle2014f.woff webfont文件。将“Chortle2014f.ttf”替换为要转换的实际webfont的名称。
我提供的第一个链接包含Windows和MacOS二进制文件,供不想安装编译器的人使用。
以下是制作WOFF2文件的参考代码:https://github.com/google/woff2请注意,此代码将不安装在CentOS6中,但在CentOS7中编译和安装就好了:
git clone --recursive https://github.com/google/woff2.git
cd woff2
make clean all
woff2字体生成类似:
woff2_compress Chortle2014f.ttf
答案 6 :(得分:1)
我不喜欢当前最好的答案是Python脚本这一事实,而且似乎有些人说它不起作用。另外,当前的答案似乎都没有提到使用zopfli
压缩算法来编译WOFF转换器,该算法优于其他工具使用的标准zlib
算法。由于这些原因,我决定采用“适当的”(即非脚本)路线,并在此过程中添加自己的答案。
注意: 以下两个实用程序的编译过程非常简单,只需复制并运行我在下面提供的代码段,它们的编译过程将变得更加容易,但是它们< / em>仍然需要工作的编译器。 如果您以前从未从源代码编译过软件,则可能需要先设置编译器环境。如果您使用的是Cygwin,则可以按照the first part of my answer here设置MinGW-w64交叉编译器。
首先,通过将以下所有 all 粘贴到终端中并按 Enter ,编译并安装sfnt2woff 1 :>
git clone https://github.com/bramstein/sfnt2woff-zopfli.git woff &&
cd woff &&
make &&
chmod 755 woff2sfnt-zopfli sfnt2woff-zopfli &&
mv woff2sfnt-zopfli sfnt2woff-zopfli /usr/local/bin &&
rm -rf ../woff
编译并安装该工具后,通过运行以下命令将TTF或OTF文件转换为WOFF:
sfnt2woff-zopfli <inputfile>.ttf
您还可以使用-n
选项来增加程序在其中运行的迭代次数,从而以转换时间为代价(默认的迭代次数为15)来增加压缩率。
要将当前目录中的所有文件转换为WOFF:
for i in *; \
do sfnt2woff-zopfli.exe "$i"; \
done
首先,通过将以下所有 粘贴到终端中并按 Enter :
来编译并安装Google's woff2 toolsgit clone --recursive https://github.com/google/woff2.git &&
cd woff2 &&
make clean all &&
mv woff2_compress woff2_decompress woff2_info /usr/local/bin &&
rm -rf ../woff2
编译并安装该工具后,通过运行以下命令将单个TTF或OTF文件转换为WOFF2:
woff2_compress.exe <inputfile>.ttf
要将当前目录中的所有文件转换为WOFF2:
for i in *; \
do woff2_compress.exe "$i"; \
done
您甚至可以将WOFF2文件转换回TTF或OTF:
woff2_decompress.exe <inputfile>.woff2
1 请注意,此处的SFNT指的是同时构建TTF和OTF字体格式的SFNT表格式。