关于CSS:如何将OTF / TTF文件转换为EOT格式?

How can I convert OTF/TTF files to EOT format?

我需要使用@ font-face功能,并且我的字体为OTF / TTF格式,并且Microsoft浏览器仅支持EOT格式。我尝试使用Microsoft工具WEFT,但是它不起作用,或者我不知道它是如何工作的。还有其他方法可以将我的字体转换为EOT格式吗?


使用字体松鼠生成器-不仅会生成EOT,还会生成SVG和WOFF格式,并一次转换多个字体文件,并将所有内容与相关CSS一起提供在一个存档中。


这是一种从otf一步构建ttf和eot版本的快速方法。当然,如果不需要全部,可以拉出相关部分。请注意,要从otf获得otot,必须去otf-> ttf-> eot。

同时安装fontforge和ttf2eot。它们在MacPorts中可用,不确定其他平台。

将其另存为名为otf2ttf2eot.sh的脚本文件:

(此脚本已针对新的fontforge版本进行了更新;发布后为原始脚本):

1
2
3
4
5
6
7
8
9
10
#!/bin/sh
otfFont="$1.otf"
ttfFont="$1.ttf"
eotFont="$1.eot"
fontforge -c '
import fontforge
font = fontforge.open("'
$otfFont'")
font.generate("'
$ttfFont'")
'

ttf2eot"$ttfFont">"$eotFont"

假设您有一种名为FontName.otf的字体,请运行:

sh otf2ttf2eot.sh FontName

fontforge早期版本的原始脚本:

1
2
3
4
5
6
7
8
9
10
#!/bin/sh
# Convert an OTF font into TTF an EOT formats.
otfFont="$1.otf"
ttfFont="$1.ttf"
eotFont="$1.eot"
fontforge -c '
    Open("'
$otfFont'");
    Generate("'
$ttfFont'");
    Quit(0);'

ttf2eot $ttfFont > $eotFont


在Ubuntu中,安装mkeot

1
sudo apt-get install eot-utils

然后:

1
mkeot fontfilename.otf > fontfilename.eot


使用http://www.font2web.com/-这不仅会生成EOT,还会生成SVG和WOFF格式,并一次转换多个字体文件,并将所有内容与相关CSS一起提供在一个存档中。


http://www.flaticon.com/font-face

对我来说,它在压缩文件中返回了所有字体类型。


值得一提的是所有字体,字体转换器。这也有woff2和EOT支持。

https://everythingfonts.com/font-face

如果您只想进行EOT转换,也可以。

https://everythingfonts.com/otf-to-eot