在Web浏览器上使用.otf字体

Nar*_*uto 402 html css fonts font-face

我正在一个需要在线字体试用的网站上工作,我所拥有的字体都是.otf

有没有办法嵌入字体并让它们在所有浏览器上运行?

如果没有,我还有其他选择吗?

cho*_*ise 694

你可以OTF使用@ font-face 来实现你的字体,如:

@font-face {
    font-family: GraublauWeb;
    src: url("path/GraublauWeb.otf") format("opentype");
}

@font-face {
    font-family: GraublauWeb;
    font-weight: bold;
    src: url("path/GraublauWebBold.otf") format("opentype");
}
Run Code Online (Sandbox Code Playgroud)

但是,如果您想支持各种各样的现代浏览器,我建议您切换到WOFFTTF字体类型.WOFFtype是由每个主要的桌面浏览器实现的,而TTF类型是旧版Safari,Android和iOS浏览器的后备版本.如果您的字体是免费字体,您可以使用例如onlinefontconverter转换您的字体.

@font-face {
    font-family: GraublauWeb;
    src: url("path/GraublauWebBold.woff") format("woff"), url("path/GraublauWebBold.ttf")  format("truetype");
}
Run Code Online (Sandbox Code Playgroud)

如果你想支持几乎所有仍在那里的浏览器(不再需要恕我直言),你应该添加更多的字体类型,如:

@font-face {
    font-family: GraublauWeb;
    src: url("webfont.eot"); /* IE9 Compat Modes */
    src: url("webfont.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
         url("webfont.woff") format("woff"), /* Modern Browsers */
         url("webfont.ttf")  format("truetype"), /* Safari, Android, iOS */
         url("webfont.svg#svgFontName") format("svg"); /* Legacy iOS */
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处详细了解所有这些类型的实现原因和黑客攻击.要详细了解哪些浏览器支持哪些文件类型,请参阅:

@ font-face浏览器支持

EOT浏览器支持

WOFF浏览器支持

TTF浏览器支持

SVG字体浏览器支持

希望这可以帮助

  • 啊,你打败了我! (4认同)
  • 请注意,如果您在Windows服务器上托管此文件,则必须将.otf文件类型添加为有效且提供的文件类型.看到这是问题的唯一方法是遵循字体的链接(如果是这样的404错误).您可以暂时重命名为.ttf甚至.html进行测试.IE支持的唯一Web字体是WOFF格式.(不,从来没有听说过!) (2认同)
  • 似乎 otf 现在应该几乎全面工作 https://caniuse.com/#search=otf (2认同)
  • 这是一个更好的批量文件转换器:https://transfonter.org/ (2认同)

kzh*_*kzh 44

Google Font Directory示例中:

@font-face {
  font-family: 'Tangerine';
  font-style: normal;
  font-weight: normal;
  src: local('Tangerine'), url('http://example.com/tangerine.ttf') format('truetype');
}
body {
  font-family: 'Tangerine', serif;
  font-size: 48px;
}
Run Code Online (Sandbox Code Playgroud)

这适用于.ttf的跨浏览器,我相信它可以与.otf一起使用.(维基百科说.otf主要向后兼容.ttf)如果没有,你可以 .otf 转换为.ttf

这是一些很好的网站: