我需要使用@font-face
功能,我的字体采用TrueType(TTF)格式,因此如何将TTF转换为OpenType(OTF)格式。
答案 0 :(得分:11)
如果您使用的是Linux,则可以使用FontForge,它可以使用Python编写脚本。
#!/usr/bin/python
import fontforge
font = fontforge.open(“STIXGeneral.otf”)
font.generate(“STIXGeneral.ttf”)
这是一个更长的python脚本,它一次为整个目录执行此操作:
答案 1 :(得分:7)
很难找到如何正确地做到这一点。以下是我在OS X上使用它的方法
$ brew install fontforge
$ fontforge -c 'Open("my.ttf"); Generate("my.otf")'
我正拼命地寻找不存在的pip install fontforge
而且我还没有使用python - 我想你需要用--enable-pyextension
或其他东西编译它。
答案 2 :(得分:6)
Google快速搜索ttf otf converter
给了我一些结果,例如:
https://onlinefontconverter.com
http://www.freefontconverter.com
不知道它们有多好用,但你可以尝试一下。
答案 3 :(得分:4)
您可以直接在css中使用TTF文件格式:
@font-face {
font-family: Vinegar;
src: url(http://www.4bit.co.uk/testing/design01/vinegar.ttf);
}
h3 {
font-family: Vinegar, "Times New Roman", Times, serif;
}
它正在运作!
答案 4 :(得分:2)
对于跨浏览器/移动支持,您至少需要三种格式:
用于Internet Explorer 6-8的嵌入式OpenType:eot
有一个命令行转换器:http://code.google.com/p/ttf2eot/
网页开放字体格式:woff
网站字体的W3C建议:http://www.w3.org/TR/WOFF/
转换器可以在这里喜欢:http://people.mozilla.org/~jkew/woff/
和TrueType:Safari和Opera的ttf
(您可以为旧的iOS支持添加可缩放矢量图形:svg
...)
防弹@ font-face语法是这样的:
@font-face {
font-family: 'Vinegar';
src: url('vinegar.eot?') format('embedded-opentype'),
url('vinegar.woff') format('woff'),
url('vinegar.ttf') format('truetype'),
url('vinegar.svg#svgVinegar') format('svg');
}
进一步资源:
http://www.paulirish.com/2009/bulletproof-font-face-implementation-syntax/
http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax
http://webfonts.info/
您可能还想查看此工具:
https://github.com/zoltan-dulac/css3FontConverter
答案 5 :(得分:1)
答案 6 :(得分:1)
你也可以试试这个:
答案 7 :(得分:1)
正如其他人所提到的,fontforge脚本已切换为python。 我发现最简单的方法是从命令行调用python。
我可以通过这种方式在Arch Linux上将多种ttf字体转换为otf,但是通过使用您喜欢的软件包管理器安装fontforge,它应该可以在其他发行版上工作。
[user@host]$ sudo pacman -S fontforge
[user@host]$ cd /path/to/your/fonts/folder
[user@host]$ python
>>> import fontforge
>>> import os
>>> fonts = [f for f in os.listdir('.') if f.endswith('.ttf')]
>>> for font in fonts:
... f = fontforge.open(font)
... f.generate(font[:-3] + 'otf') # changes extension from ttf to otf
...
>>> exit()