我使用的是 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/