fonts - Safari 用户安装的字体不呈现

标签 fonts safari font-face font-family

我使用的是 MAC OSX,我的 Safari 版本是 13.0.3。我尝试在我的机器上安装一些自定义字体。我安装了来自 https://www.fontsquirrel.com/fonts/list/popular 的字体 great-vibes (只是一个例子)在我的机器上,它现在显示在我的字体簿的用户字体部分下。我正在使用 .otf 格式的字体。我现在尝试在我的网络应用程序上使用它,如下所示:

@font-face {
  font-family: 'Great Vibes'; //Added postscript name as well, did not work
  font-style: normal;
  font-weight: 400;
  src: local('Great Vibes')
}
body {
  font-family: 'Great Vibes' !important;
}

这适用于 Chrome 和 Firefox(即使没有@font-face)声明。但这是不是 在 Safari 上工作。我尝试过像 -webkit-text-stroke: .5px; 这样的选项。文本渲染:优化易读性;但它不起作用。我尝试在我的机器中安装不同的自定义字体,但它们也不适用于 Safari。我看到字体已正确安装。

注意:在我的应用程序代码中保留自定义字体并使用 @font-face/src/url 工作得很好。问题是在尝试访问机器上自定义安装的字体时。

最佳答案

原因是 Safari 12/macOS Mojave 禁止显示用户安装的字体 to combat browser fingerprinting ,它可以通过观察您的系统配置(包括您安装的字体)来启用在线跟踪。通过仅渲染默认系统字体,当然还有任何其他可通过互联网访问的字体,您的计算机看起来更像其他任何字体,并且变得更难跟踪。
如果要在 Safari 中使用非标准字体进行开发,则必须使用 @font-face/src/url指向嵌入或 Internet 托管字体的声明。或者,您可以禁用跟踪保护,但这可能不是一个好主意。
如果您在 Firefox 中激活了增强的跟踪保护,这也会阻止指纹识别,您应该会看到与 Safari 相同的行为。
来源:二 reddit posts

关于fonts - Safari 用户安装的字体不呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59986432/

相关文章:

c# - 如何删除/替换当前使用的字体

jquery - jScrollPane 在 Safari 中覆盖视频导致文本扭曲

html - 为什么 IE1 0's "IE8 标准模式与 IE9 的不同?

c# - 如何在 OpenXML Word 文档中嵌入字体文件

java - sun.font.FontManager.getDefaultPlatformFont异常

javascript - 对象属性在 console.log 中显示为未定义

javascript - 为什么 ScrollTop 位置在移动 Safari 上不起作用?

javascript - 在 IExplorer 中检测字体下载权限

css - @ font-face可以在IE8中加载,但随后翻转为后备字体;还大胆?

java - 如何更改 JFrame 中的字体颜色