Answers:
在阅读了与首选项相关的一些Firefox 源代码和与之相关的Bugzilla票证之后,我得出的结论是,当计算机上安装的字体发生变化时,首选项可以作为一种“触发器”。
网页可以指定网页(部分)应该使用哪种字体,以及如果该字体不可用,浏览器应该使用哪种字体。引用Mozilla Developer Network有关此内容的文章:
该
font-family
CSS属性用于指定字体系列名称和/或通用系列名称的优先列表中选择元素。值以逗号分隔,表示它们是替代品。浏览器将选择计算机上安装的列表中的第一个字体,或者可以使用常规下载@font-face
。
但是如果有人在Firefox运行时安装或删除字体会发生什么?好吧,事实证明Firefox开发人员已经想到了这一点。如果安装的字体列表发生变化,Firefox会要求操作系统通知它,如果发生这种情况,它会通知负责在网页上呈现正确字体的浏览器部分,他们应该重新获取字体列表并使用用于确定要显示的字体。
但是如何让“字体更改监听器”将这些信息传递到需要它的Firefox部分?显然,最简单的方法是通过翻转偏好(从true到false或从false变为true,无所谓); Firefox组件可以轻松地查看更改的首选项,如果更改,负责字体处理的组件知道他们应该重新获取字体列表。