You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac OSX Safari 13.0.3无法渲染本地安装自定义字体问题求助

解决Safari无法加载本地自定义字体的问题

我之前在Safari上踩过一模一样的本地字体加载坑,结合你的情况,给你几个亲测有效的解决方案:

1. 必须使用字体的PostScript名称

Safari对local()里的字体名称要求极其严格,不能用字体的显示名称(比如带空格的Great Vibes),必须用它的PostScript名称。你可以这么找:

  • 打开字体册,选中Great Vibes字体
  • 右键点击「显示字体信息」
  • 在弹出的窗口里找到「PostScript名称」,比如Great Vibes的PostScript名通常是GreatVibes-Regular(没有空格)

修改你的@font-face代码:

@font-face { 
  font-family: 'Great Vibes'; 
  font-style: normal; 
  font-weight: 400; 
  src: local('GreatVibes-Regular') /* 替换成PostScript名称 */
} 

2. 严格匹配字体的字重与样式

Safari的字体匹配逻辑比Chrome/Firefox苛刻很多,哪怕你的body样式加了!important,只要字重、样式和@font-face声明不对应,就会 fallback 到系统字体。确保:

  • @font-face里的font-weight和font-style和字体实际属性一致(Great Vibes只有400字重、normal样式)
  • 在body里明确指定对应属性:
body { 
  font-family: 'Great Vibes', cursive; /* 加上兜底的通用字体族 */
  font-weight: 400 !important;
  font-style: normal !important;
}

3. 清除Safari和系统字体缓存

Safari经常会缓存旧的字体配置,导致新字体无法生效,你可以按顺序试试:

  • 用Cmd+Shift+R强制刷新页面(跳过缓存)
  • 完全退出Safari再重新打开
  • 最彻底的方式是清除系统字体缓存,打开终端执行:
sudo atsutil databases -remove

输入管理员密码后,重启Mac,系统会重新加载所有字体。

4. 检查字体文件的权限

虽然你已经把字体装在用户字体区域,但有时候文件权限异常会导致Safari无法读取:

  • 在字体册里右键Great Vibes,选择「显示在访达中」
  • 右键字体文件,选择「显示简介」
  • 确保当前用户在「共享与权限」里有「读取」权限

为什么Chrome/Firefox没问题?

Chrome和Firefox有自己独立的字体渲染引擎,对本地字体的名称容错性高,而且不会依赖系统的ATS服务;而Safari完全依赖Mac的系统字体服务,所以对名称准确性、缓存状态的敏感度都更高。

内容的提问来源于stack exchange,提问作者ASR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 12:47:45