Chrome“渲染字体”从哪里获得字体名称?

Posted

技术标签:

【中文标题】Chrome“渲染字体”从哪里获得字体名称?【英文标题】:Where does Chrome "Rendered Fonts" get the name of the font from? 【发布时间】:2018-05-22 23:36:45 【问题描述】:

在 Chrome Inspector 的 Computed Tab 底部,它显示了实际渲染的字体,但对于我正在处理的网站,它显示:

渲染字体

.—网络资源(40 个字形)

而通常,它在其他网站上会这样说:

渲染字体

Arial - 本地文件(158 个字形)

Consolas - 本地文件(29 个字形)

Menlo - 本地文件(1 个字形)

或者这个:

渲染字体

Nunito - 网络资源(49 个字形)

我的文件在哪里获得“名称”.

【问题讨论】:

在***.com/questions/18900720/…寻找答案 @FarOoOosa - 据我所知,这并没有回答我的问题 - 它显示正在加载的文件在网络选项卡中,但不是 name计算选项卡中显示的字体。另一个答案实际上有我所指的选项卡的屏幕截图,但没有得到这些名称的位置。如果我遗漏了什么,请解释! 字体有元数据,您使用的字体的创建者似乎没有正确填充它。你可以试试这个网站来检查你字体的元数据,看看名字部分是否有.:opentype.js.org/font-inspector.html @Sirence 是的!就是这样!如果您将其写为答案,我会将其标记为已接受! 很高兴我能帮上忙,我把它作为答案添加了:) 【参考方案1】:

实际上这是 Webfonts 格式的预期行为。在这些字体中,字体创建者删除了许多在 Web 环境中没有用的 OpenType 表,包括点来自的“名称”表,这使我们能够将文件大小保持在最小,并增强例如,Web 浏览器上的字体性能。

由于缺少 'name' 表,Webfonts 不能安装在桌面机器上,这也是为了让用户不会在桌面环境中滥用它,而这并不是它们的用途。此外,字体可以从网站下载,然后被其他公司非法使用,通过阻止 Webfonts 安装在台式计算机上,我们最大限度地减少了字体黑客攻击。

在这种情况下,我建议使用桌面字体,因为这些文件将包含“名称”表的完整信息。

【讨论】:

哦,有趣,这是很好的背景!【参考方案2】:

字体有元数据,您使用的字体的创建者似乎没有正确填充它。

你可以试试这个网站来检查你字体的元数据,看看名字部分是否有.

https://opentype.js.org/font-inspector.html

【讨论】:

就是这样 - “命名表”显示:fontFamily 和 fullName 都设置为“.”

以上是关于Chrome“渲染字体”从哪里获得字体名称?的主要内容,如果未能解决你的问题,请参考以下文章

与 FF 和 Chrome 相比,IE 的渲染字体不同

如何确定 SVG 元素的字体大小?

UIFont fontWithName 字体名称

浏览器使用不同的字体系列名称?

在Debian Mate上,Visual Studio Code严重渲染字体

基于SDF渲染字体