如何将TTF文件转换为OTF格式?

时间:2011-04-19 05:36:48

标签: css browser font-face

我需要使用@font-face功能,我的字体采用TrueType(TTF)格式,因此如何将TTF转换为OpenType(OTF)格式。

8 个答案:

答案 0 :(得分:11)

如果您使用的是Linux,则可以使用FontForge,它可以使用Python编写脚本。

#!/usr/bin/python
import fontforge
font = fontforge.open(“STIXGeneral.otf”)
font.generate(“STIXGeneral.ttf”)

这是一个更长的python脚本,它一次为整个目录执行此操作:

http://fonts.fileformat.info/bin/otf2ttf.py

答案 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

http://www.font2web.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;
}

它正在运作!

Or you can use this link to generate your font face!

答案 4 :(得分:2)

对于跨浏览器/移动支持,您至少需要三种格式:

  1. 用于Internet Explorer 6-8的嵌入式OpenType:eot 有一个命令行转换器:http://code.google.com/p/ttf2eot/

  2. 网页开放字体格式:woff网站字体的W3C建议:http://www.w3.org/TR/WOFF/
    转换器可以在这里喜欢:http://people.mozilla.org/~jkew/woff/

  3. 和TrueType:Safari和Opera的ttf

  4. (您可以为旧的iOS支持添加可缩放矢量图形:svg ...)

  5. 防弹@ 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)

你也可以试试这个:

http://www.freefontconverter.com/

答案 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()