我遵循了instructions on the google/roboto repository,但是没有OTF文件可以用作webfont。
我唯一能得到的反馈是Chrome说“无法解码下载的字体”。
OTS说一切都很好。
为什么会这样?如何在网络上使用Roboto opentype功能?
仅供引用,我也打开了google/roboto#283
这是生成的字体之一:https://drive.google.com/open?id=157_-UBTyswylqY3DOK-mKihd7Vk-vFA_
最佳答案
更新(基于更新的问题)
显然,生成的OTF字体未在网络上正确编码-所有浏览器都具有不同的字体渲染引擎,并且该文件在Chrome和Firefox中无法解码,甚至Font Squirrel报告该字体已损坏且无法转换。有趣的是,在Safari中可以正常工作。
如果要使用Roboto字体功能,则必须生成自己的Web字体。 I have created a demo page that demonstrates some of Roboto's font features ,通过以下步骤使用各种Web字体(woff2
,woff
,otf
,ttf
):
使用google/roboto存储库运行make
后,您应该在RobotoTTF
目录中获取TTF字体。这些文件包含Roboto的所有字体功能,您可以使用它们来生成Web字体文件。如果您愿意,甚至可以使用TTF字体:
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url('./Roboto-Regular.ttf') format('truetype');
}
尽管您的文件大小会很大,并且您绝对应该将它们转换为其他Web字体格式(
woff2
产生最佳结果,它是supported in all modern browsers)以显着减小文件大小,所以您的@font-face
声明为:@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), url('./Roboto-Regular.woff2') format('woff2');
}
您仍然仍然可以在生成的Web字体中包括和使用字体功能,并在CSS代码中使用它们:
.yourclass {
font-feature-settings: ...;
}
您可以在线或在计算机上使用许多工具。我尝试了以下方法,这些方法在将OpenType功能保持在生成的Web字体内的过程中非常有效:
附带一提,您可能会发现LCDF Typetools很有用,特别是otfinfo用作
otfinfo -f Roboto-Regular.ttf
来列出字体支持的所有功能。这是Roboto字体的功能列表:
希望对您有所帮助。
** 已删除,因为它与更新的问题不相关
关于fonts - 无法解码OpenType Roboto,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47991948/