尝试实现自定义字体时出现“@font-face 声明不遵循 fontspring 防弹语法”错误

Posted

技术标签:

【中文标题】尝试实现自定义字体时出现“@font-face 声明不遵循 fontspring 防弹语法”错误【英文标题】:"@font-face declaration doesn't follow the fontspring bulletproof syntax" error when trying to implement custom font 【发布时间】:2022-01-23 22:59:48 【问题描述】:

我正在尝试向我的网站添加自定义字体,但无论我尝试什么,都会遇到相同的错误,而且我找不到太多关于如何修复它的信息。

这是我的代码:

@font-face 
  font-family: "Moderna";
  src: url("/MODERNA.TTF")

建议?

【问题讨论】:

您使用的不仅仅是普通的 html 和 CSS 吗?请张贴一个显示上下文的sn-p。尤其是阅读有关 fontspring 防弹的内容 - 这似乎需要两个 src 声明(至少,出于历史原因,它确实如此)。 【参考方案1】:

The fontspring bulletproof syntax 只是一个建议。它声明您的 @font-face 在大多数情况下必须满足以下语法才能正常工作:

    @font-face 
        font-family: 'MyFontFamily';
        src: url('myfont-webfont.eot?') format('eot'), 
         url('myfont-webfont.woff') format('woff'), 
         url('myfont-webfont.ttf')  format('truetype'),
         url('myfont-webfont.svg#svgFontName') format('svg')
    

现在大多数浏览器都支持 TTF 字体,但是如果您在浏览器中看不到字体,试试这个

    @font-face 
      font-family: "Moderna";
      src: url("/MODERNA.TTF") format("ttf");
    

如果我没记错的话,那么规则必须在您的 css 文件之上。请检查文件/MODERNA.TTF是否存在。

【讨论】:

试过了,还是一样的错误。截图:imgur.com/a/2KEIs9d @MOODSINTOSH 请在您的帖子中说明您在代码编辑器中遇到错误【参考方案2】:

很确定您的路径/网址导致了这个问题:

  src: url("/MODERNA.TTF")

表示您正在输入一个名为“MODERNA.TTF”的目录,而不是一个文件。

正如@Mik 指出的那样,推荐的声明应该没问题——除非找不到您的文件。 根据您的 html/css 文件结构,它应该是这样的: (假设您的字体文件与您的 css 位于同一目录中。

@font-face 
        font-family: 'Moderna';
        src: url('MODERNA.eot?') format('eot'), 
         url('MODERNA.woff') format('woff2'),
         url('MODERNA.woff') format('woff'), 
         url('MODERNA.ttf')  format('truetype'),
         url('MODERNA.svg#svgFontName') format('svg')
    

还要记住,通过@font-face 引用字体文件是区分大小写的(可能有例外)。 因此,请仔细检查您的确切字体文件名是否真的使用大写字母(MODERNA.TTF 或moderna.ttf)。

【讨论】:

以上是关于尝试实现自定义字体时出现“@font-face 声明不遵循 fontspring 防弹语法”错误的主要内容,如果未能解决你的问题,请参考以下文章

使用自定义字体时出现问题 - “无法制作原生字体”

尝试从我的自定义 iOS 应用与 Google+ 共享时出现 404 错误

winform,自定义文本框控件 实现文本框验证加水印功能

将自定义 UITableViewCell 与 ViewCellRenderer 一起使用时出现 NullReferenceException

尝试使用自定义图标创建 TabBarIOS 时出现不变违规错误

尝试获取具有自定义类型的 DBus 属性时出现致命错误