【问题标题】:Stylish or Chrome userscript to replace the "Helvetica" font on websites?用时尚或 Chrome 用户脚本替换网站上的“Helvetica”字体?
【发布时间】:2013-01-03 19:19:32
【问题描述】:

我在使用 Helvetica 字体和 Helvetica Neue 的网站时遇到问题。
我尝试寻求一些帮助来修复它,但这显然是我的 Linux 安装的问题。

由于我自己无法修复它,我想为我的 Chrome 浏览器编写用户样式(时尚)或用户脚本,以检测使用 Helvetica 或 Helvetica Neue 的网站。
如果使用了这些字体,则将它们替换为其他字体。

如何实现?

【问题讨论】:

  • Helvetica 到底有什么问题?几乎可以肯定这是你可以解决的问题,如果我是你,我宁愿解决它也不愿做一些尴尬和笨拙的解决方法。
  • 存在一些希腊字母根本不显示的问题。
  • árent 在某处有任何设置吗? gm 似乎只是为了改变字体而矫枉过正。

标签: css google-chrome font-face userscripts stylish


【解决方案1】:

如果这仅适用于少数几个网站,请使用Stylish,并仅针对页面中那些有问题的部分进行调整。例如:

@-moz-document domain("stackoverflow.com"), domain("askubuntu.com") {
    body, p, div, textarea {
        font-family: comic sans !important;
    }
}


如果它适用于所有网站,则 Stylish 或用户脚本不是您的最佳选择。
这是因为:

  1. 对于 Stylish 而言,寻找并添加适当的 CSS 选择器将是一项全职工作。
  2. 或者,对于 Stylish 的一揽子方法,例如:

    * {
        font-family: comic sans !important;
    }
    

    无疑会破坏某些网站的布局。

  3. 理论上,用户脚本只有在设置为 Helvetica 时才能替换 CSS,但会出现以下两个问题之一:

    1. 检查样式表似乎更有效,但由于安全限制,您的脚本将被阻止读取/写入某些表。尽管您最感兴趣的样式表可能是可读的(同一个域,而不是在 JS 创建的 iframe 中)。
    2. 相反,您可以检查每个元素的计算样式,但您必须监控 AJAX 更改,这可能会占用大量 CPU。


对于一揽子方法,最明智的做法是修复或重新安装您的 Linux 操作系统。

至少,您应该能够将系统的 Helvetica 字体映射到其他字体(我知道您可以在 Windows 上做到这一点,所以 Linux 可能也有一个机制)。

最好在Unix and LinuxSuper User 上提问以帮助解决系统字体问题。

【讨论】:

  • 我已经尝试在时尚脚本中使用多域定位,但这有点烦人,因为我必须为我访问的每个使用该字体的新网站都这样做。在花了很长时间研究这个问题后,我发现 Ubuntu 确实将 Helvetica 映射到另一种名为 Nimbus Sans 的字体(因为 Helvetica 的许可证不允许他们使用它)。最后我找到了 Nimbus Sans 文件并删除了它们。现在问题已经解决了。
  • 我可以同样使用本地安装的字体吗?代码需要如何更改?有相关的问答吗?我找不到它。
  • @NVZ,如果你的系统上正确安装了字体,你只需要指定它的名字。可能需要报价。例如,font-family: "Liberation Serif" !important; 在我的机器上工作。 Super User 上可能还有更多内容。
猜你喜欢
  • 2014-07-12
  • 2011-08-13
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 2013-11-17
  • 2010-11-07
  • 1970-01-01
  • 2012-08-17
相关资源
最近更新 更多