修复“无法解码下载的字体:(OTS解析错误:BASE:未对齐的表)”错误(未使用webpack)?

Fix "Failed to decode downloaded font: (OTS parsing error: BASE: misaligned table)" error (Not using webpack)?

提问人:BlahZayBlahZay 提问时间:8/23/2019 更新时间:8/23/2019 访问量:431

问:

@font-face {
    font-family: hiragino-w3;
    src: url(../../Fonts/hiragino-kaku-pro-w3.otf) format("opentype");
}

我读过很多关于解决方案的页面,但所有这些页面都涉及 webpack,而且我不认为我正在开发的客户端应用程序使用 webpack。出于某种原因,当我在应用程序中尝试 npm start 时,它可以工作,但是当从服务器提供客户端代码时,字体不会呈现。

我也不相信这与Chrome或我正在使用的文件的格式有任何关系,因为字体也不会在Safari中呈现。

JavaScript CSS 客户端 Web 字体

评论

0赞 Mike 'Pomax' Kamermans 8/23/2019
您收到的错误是您正在加载的字体文件在技术上已损坏。具体来说,BASE表目录信息与实际的BASE表数据不匹配,因此浏览器拒绝加载字体,因为当字体引擎尝试使用它时,这会导致各种问题。因此,请获取字体的未损坏版本。但现在对于法律问题:您不得将 Hiragino 用作网络字体。Screen(hiragino的品牌)允许的唯一Webfont使用是通过TypeSquare。如果您只需要 1 种字体,它是免费的。如果您需要更多,那将花费正常的钱。
0赞 BlahZayBlahZay 8/23/2019
我在哪里可以获得字体的未损坏版本?而且,成本不是问题。但是你说的一种字体是什么意思?我认为这个应用程序所需要的只是 hiragino-kaku-pro-w3 和 hiragino-kaku-pro-w6
0赞 Mike 'Pomax' Kamermans 8/23/2019
只是字面意思?他们有几个计划,如果您想使用他们的一种字体,您可以注册免费计划。如果您需要更多,那么您必须支付符合您要求的计划费用。有关该信息,请参阅 typesquare.com/en/service/web。而“如何获得一个不损坏的版本”实际上是:你注册TypeSquare并按照他们的说明进行操作。
0赞 BlahZayBlahZay 8/24/2019
那么,如果我只是在客户端应用程序中运行 npm start,为什么字体会正确呈现呢?
0赞 Mike 'Pomax' Kamermans 8/24/2019
我不知道“在我的客户端应用程序中运行 npm start”是什么意思。 不是在“应用程序内部”运行,而是一个 CLI 工具。 运行您在 package.json 文件部分中定义的任何任务,以便:找出它的作用,并使用该信息更新您的帖子?npmnpm start"start""scripts"

答: 暂无答案