安装 Microsoft 字体后,Facebook 的波斯语内容字体变为 Arial,这对波斯语来说是一种非常糟糕的字体。Chrome 和 Firefox 都会发生这种情况。以下是 Facebook 使用的字体系列:'lucida grande'、tahoma、verdana、arial、sans-serif
问题是:对于英语内容,选择 Verdana,这是正确的选择。但对于波斯语内容,Arial 是优先考虑的 - 这意味着如果我从列表中删除 Arial,一切都会好起来(使用 Verdana)。
如果我卸载 Microsoft 字体,从而摆脱 Arial,使用 sans-serif,这会使情况变得更好,但代价是也会改变英语内容的字体。
知道发生什么事了吗?
答案1
我遇到了同样的问题,但是使用的是阿拉伯语,但我找到了一个非常好的答案:
“弗洛里安·海因勒 1,272618”
他写了 :
“我的回答假设您之前没有安装过 Tahoma、Arial 等字体,并且这种情况在任何浏览器中都会发生。Facebook 主要使用以下字体:Lucida Grande、Tahoma、Verdana、Arial、Sans-serif。这些字体按提供的顺序使用。如果 Lucida Grande 不可用,它将使用 Tahoma,然后是 Verdana,然后是 Arial,然后恢复为默认的无衬线字体,最有可能是 DejaVu Sans 或 Ubuntu。可能发生的情况是,安装 Windows 字体后,您的浏览器就可以使用这些字体来呈现 Facebook。这困扰你吗?您可以安装 Lucida Grande 以让 Facebook 按照 Facebook 的意图显示。或者,您可以禁止网站设置自己的字体,并让所有网站在 Firefox 的设置中恢复为 Firefox 的默认字体(和大小)(内容,在字体部分的高级中,勾选那里的框)”
答案2
在我看来,这听起来像是特定网站的 CSS 设计和可用性的一般问题。它应该由网站本身修复,而不是由按定义呈现网站的客户端或操作系统修复。
如果是这种情况,应该有人告诉网站所有者或客户支持,为某些语言提供此类 CSS 规则是个坏主意。
与此同时,你可以写自己的格雷斯蒙基脚本,删除 CSS 规则中不需要的 Arial。以下可能是一个很好的起点:
// ==UserScript==
// @name facebook
// @namespace facebook
// @include https://www.facebook.com/
// @version 1
// @grant addGlobalStyle
// ==/UserScript==
function addGlobalStyle(css) {
var head, style;
head = document.getElementsByTagName('head')[0];
if (!head) { return; }
style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = css;
head.appendChild(style);
}
addGlobalStyle('body { font-family: 'lucida grande',tahoma,verdana,sans-serif ! important; }');
您可以查看 firebug 中的元素,并body
在脚本代码后添加更多规则名称(用逗号分隔)。(请注意,我不使用 facebook。)