我遵循了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字体(woff2woffotfttf):

使用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字体内的过程中非常有效:
  • The already mentioned onlinefontconverter —您可以选择生成各种字体和网络字体格式
  • Font Squirrel Webfont generator —确保选择“专家”选项,然后在“OpenType功能”下选择“保留所有功能”。

  • 附带一提,您可能会发现LCDF Typetools很有用,特别是otfinfo用作otfinfo -f Roboto-Regular.ttf来列出字体支持的所有功能。

    这是Roboto字体的功能列表:
  • c2sc —来自首都的小首都
  • ccmp —字形组成/分解
  • cpsp —资本间距
  • dlig —任意连字
  • dnom —分母
  • frac —分数
  • kern —紧缩
  • liga —标准连字
  • lnum —衬砌图
  • mark —标记位置
  • mkmk —标记到标记的位置
  • numr —数字
  • onum —老式数字
  • pnum —比例图
  • salt —文体替代品
  • smcp —小资本
  • ss01 —文体集1
  • ss02 —文体集2
  • ss03 —文体集3
  • ss04 —文体集4
  • ss05 —文体集5
  • ss06 —文体集6
  • ss07 —样式集7
  • tnum —表格数字
  • unic — Unicase

  • 希望对您有所帮助。

    ** 已删除,因为它与更新的问题不相关

    关于fonts - 无法解码OpenType Roboto,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47991948/

    10-10 05:42