解决 Firefox 无法显示 Noto Color Emoji 的问题
最近迷上了 gitmoji。然而我却发现,用 Firefox 打开自建的 Gitea,显示不了 Emoji,用 Chromium 打开 Gitea 却可以正常显示,而且两个浏览器打开 GitHub,都能显示 Emoji。
经过一番研究,终于解决了这个问题,相关信息如下:
- Firefox 自带名为 Twemoji Mozilla 的表情字体,默认会使用这个字体,而非系统的表情字体。如果在
about:config
中将font.name-list.emoji
改为emoji
1,即可使用系统自带字体。 - GitHub 使用的是图片,而非 emoji 字体。
- Gitea 的字体匹配顺序,是先匹配 Noto Color Emoji,再匹配 Twemoji Mozilla。在控制台中能看到 emoji,在网页中却不能。
- 已经有人向上游汇报了这个 BUG2,原因与 Cairo 的行为有关,在讨论中给出了解决方案。
我在 ~/.config/fontconfig/fonts.conf
中加入了以下设置,成功解决了这个问题:1
2
3
4
5
6
7
8<match target="font">
<test qual="any" name="family">
<string>Noto Color Emoji</string>
</test>
<edit name="embeddedbitmap">
<bool>true</bool>
</edit>
</match>
最终效果: