Firefox-未显示具有自定义字体的网站


9

我刚刚升级到FF 57,使用自己字体的网站已停止显示文本。

我知道这是其他人遇到的问题,例如Firefox不显示网站文本,但是那里的解决方案不起作用。安全模式也无济于事,仅当我取消选中“首选项”中的“自定义字体”选项时,问题才会消失。

我也安装了自定义字体(来自TexLive等),所以我认为这可能是原因。

关于如何解决此问题的任何想法?

来自Github的示例:

github没有文字


好像TeXGyreHeros是cuplprit,我安装了它,Twitter和Github现在可以正常工作。它在fonts-texgyre包装中。不知道为什么升级到57会导致这种情况。
酒吧

必须对YouTube和YouTube做同样的事情fonts-roboto。似乎缺少许多字体。
酒吧

1
具有讽刺意味的是,我尚未修复的一个网站是使用Fira字体家族的addons.mozilla.org。我已经按照说明安装了它们,并且有一段时间似乎可以使用,但是恢复为未显示任何文本。
酒吧

在我的情况下,我在一台计算机上遇到了这个问题,但是在另一台具有类似设置的计算机上却没有。到目前为止,这里没有给出任何答案可以解决此问题。我打开了另一个帖子askubuntu.com/q/980681/446253
XavierStuvw

Answers:


9

这是几件事情的组合:TexLive将字体安装在不太标准的位置,网页请求一种字体,Ubuntu的fontconfig程序包认为该字体最好由一种TexLive字体而不是普通字体填充。然后,Firefox被告知使用TexLive字体进行渲染,但不允许从其安全沙箱内部访问它。

建议的解决方法是设置

security.sandbox.content.read_path_whitelist to /usr/local/texlive/

在about:config中,然后重新启动浏览器。

在Firefox 58及更高版本中,此问题已更基本地修复。


1
我应该建议一个更好的解决方案:set /usr/local/texlive/。这样,我们就可以避免指出TeXLive发布的年份
Domenico Cufalo

我有点不敢相信这就是正在发生的事情。我确实已经安装了TexGyre字体,但是是手动安装的,因此,尽管某些其他软件包可能已经将它们安装在一个特殊的文件夹中,但它们还是先安装在标准文件夹中。我遇到问题的站点也使用了安装在系统字体位置的anodyne MS字体。无需替换它们,它们位于Firefox新沙盒的例外文件夹中。同样,不同的用户在不同的站点上也会遇到问题。无论如何,将沙箱级别设置为2对我来说一直有效,直到此问题解决为止。
Moilleadóir

您应该在Bugzilla中提交一个包含更多详细信息的错误,否则该问题将无法解决。
gcp

我同意/usr/local/texlive应避免使用年份。为此,其他答案得到了支持。
Ege Rubak

已进行了编辑,尽管现在该修补程序已升级到Firefox 58,因此到2018年将不再需要此解决方法。
gcp

3

我也安装fonts-texgyre了Debian 9 Stretch,网页的可视化也得到了改善,但是仍然存在一些问题。也许我们应该在存储库中安装可用的每种字体,但是很显然,这种解决方案不切实际。

唯一真正的解决方案是禁用/etc/fonts/conf.d/09-texlive.conf

如果有人找到其他解决方案,欢迎您!


您在这里禁用是什么意思?对Firefox会有什么影响?
酒吧

1
sudo mv /etc/fonts/conf.d/09-texlive.conf /etc/fonts/conf.d/09-texlive.conf.BAK然后sudo fc-cache -fsv
Domenico Cufalo

2
看来Linux系统上安装的texlive字体会引起一些冲突。
Domenico Cufalo

1
不幸的是,此解决方案不好,因为它使texlive字体对其他应用程序无用
Domenico Cufalo

1
好,谢谢。我会接受这作为答案,因为它确实可以解决问题。糟透了,我们不能使用texlive字体,但我不明白FF 56 vs. 57是怎么造成的。
酒吧

3

在中about:config,设置

security.sandbox.content.read_path_whitelist 

/usr/local/texlive/

重新启动Firefox后有效。


2

尝试转到about:preferences > Language&Appearance > Advanced,然后取消设置“允许页面选择自己的字体,而不是上面的选择”。尽管现在所有字体都默认为DejaVu,这为我解决了该问题。


这是一种解决方法,而不是修复程序,但对我也适用。
pbhj

1

只是找到了一个更好的解决方案,而没有安装任何东西!

在Firefox地址栏中,转到about:config,然后搜索

security.sandbox.content.level

并将此字符串设置为1。重新启动Firefox,然后... :-D


这显然是以安全为代价的。实际上这听起来像是个错误,我看看是否可以向Bugzilla报告。有关沙箱的更多信息,请参见此处:wiki.mozilla.org/Security/Sandbox#Content_Levels_2
Bar

此外,与编辑新答案相比,如果您编辑以前的答案会更好。
酒吧

1
提交此错误:bugzilla.mozilla.org/show_bug.cgi?id=1418240如果您可以发表评论并确认相同的问题,它可能会更快地被发现。
酒吧
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.