Answers:
从Safari 12开始,已删除所有这样做的选项:
defaults
密钥不再受到尊重@font-face
定义仅限于值的内置白名单local()
,而忽略系统上安装的任何其他字体,这是一系列广泛的反指纹措施的一部分综上所述,这意味着无法更改默认值,例如Times for serif
,Helvetica for sans-serif
和Courier for monospace
。
您仍然唯一能做的就是创建一个用户样式表来直接设置各种元素的样式。因此,例如,您可以将默认字体系列从更改serif
为sans-serif
:
body { font-family: sans-serif }
或者,您甚至还可以命名本地安装的特定非系统字体:
body { font-family: 'Open Sans' }
不幸的是,尽管这对于更改默认文档字体相当有效,但是使用相同的方法来重新设置默认为等宽字体的每个元素的样式非常复杂。我不确定CSS甚至完全可以完全模仿此类元素的默认行为-以前通过使用defaults
或用户样式表中的@font-face
规则可以轻松做到这一点monospace
(该规则只需重新定义monospace
含义,而无需触摸默认样式本身,因此允许将默认行为应用于该其他字体)。
我非常讨厌阅读Courier中设置的大量文本,因此将来看起来我将不得不使用其他浏览器来阅读RFC …
以下信息在发布时是正确的,但现在仅适用于Safari的过时版本。
没有用于更改默认字体和字体大小的偏好设置:
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily Georgia
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFontSize 16
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2FixedFontFamily Menlo
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFixedFontSize 14
另一个选项是编辑定义默认样式的CSS文件(在Preferences> Advanced> Stylesheet中查看 ),添加如下所示的内容,例如:
@font-face {
font-family: monospace;
src: local('Menlo');
}
该规则使得使用任何元件font-family: monospace
(以及类似的元件<pre>
和<code>
由默认),使用万络。只需将字体名称更改为您喜欢的字体名称(请注意保留引号)即可。