18.04:彩色表情符号在Chrome中完全不显示,在Firefox中仅部分显示


24

我已经从17.10升级到18.04,希望能有更好的表情符号支持。结果是Chrome(66)仍在使用旧的黑白表情符号字体,而Firefox(59)设法显示了一些彩色表情符号,而没有显示其他彩色表情符号。我接受了一些安装字体EmojiOne的建议,但这似乎无济于事😓

来自emoji演示页面的截图,位于http://eosrei.github.io/emojione-color-font/full-demo.html

铬: 在此处输入图片说明

Firefox: 在此处输入图片说明

Answers:


16

在Ubuntu 18.04+上,您现在可以简单地安装一个软件包:fonts-noto-color-emoji。之后,重新启动Chrome,它将生效。无需创建手动字体配置。

该软件包应该安装在常规的Ubuntu 18.04+桌面版本上(依赖程度为“推荐”,请使用进行检查apt rdepends fonts-noto-color-emoji)。Kubuntu(KDE)之类的其他一些版本默认情况下没有此功能,需要您手动安装。


3
这对我不起作用。我正在使用来自Google官方存储库的Ubuntu 18.04和Chrome v71。另一个答案确实可以解决问题。
Undercat支持Monica

34

我已修复它-我必须遵循2016年以来的这些说明 😧必须~/.config/fontconfig/conf.d/01-emoji.conf使用以下文本创建:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>serif</family>
    <prefer>
      <family>Noto Color Emoji</family>
    </prefer>
  </alias>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Noto Color Emoji</family>
    </prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>Noto Color Emoji</family>
    </prefer>
  </alias>
</fontconfig>

不需要原始说明中有关安装Noto字体的位,因为默认情况下它是作为18.04的一部分安装的。

然后运行:

fc-cache -f -v

下次重启时,Chrome会显示颜色表情符号。


-1,因为两个原因:1)18.04中不再需要本地fontconfig。2)“不需要安装Noto字体,因为默认情况下它是作为18.04的一部分安装的”并非普遍适用。我已经完整安装了KDE桌面,但根本没有安装。另请参阅我的答案
gertvdijk

2
您知道升级是否也是如此?我感觉到我的问题可能与17.10升级有关。
N3dst4

2
我正在使用Kubuntu 18.04,在安装Noto字体后,我仍然遇到相同的问题。但是,这对我有用。不幸的是,我不确定是导致更改的是配置文件还是仅仅是对“ fc-cache”的调用。也许两者都需要。
andypotter '18 -10-24

此固定的表情符号在Chrome中已修复,但不幸的是在Anki中将其破坏了。😞最终,我不得不完全将其还原以避免产生副作用。
Undercat支持Monica

2

似乎此问题可能是由于安装了多种不兼容的表情符号字体和/或在Chrome中选择了错误的默认字体引起的。

  1. 确保已fonts-noto-color-emoji安装软件包。

    sudo apt install fonts-noto-color-emoji
    
  2. 按照@ N3dst4的答案中的步骤创建/编辑字体配置文件。

    • 注意:@ N3dst4将其配置文件~/.config/fontconfig/conf.d/01-emoji.conf放入时,~/.config/font-manager/local.conf由于系统的设置方式,我将其放入。
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
      <alias>
        <family>serif</family>
        <prefer>
          <family>Noto Color Emoji</family>
        </prefer>
      </alias>
      <alias>
        <family>sans-serif</family>
        <prefer>
          <family>Noto Color Emoji</family>
        </prefer>
      </alias>
      <alias>
        <family>monospace</family>
        <prefer>
          <family>Noto Color Emoji</family>
        </prefer>
      </alias>
    </fontconfig>
    
  3. 在Chrome中将默认字体设置为“ Noto”的变体。

  4. 重建字体缓存+重新启动Chrome。

    fc-cache -f -v
    
  5. 如果表情符号仍无法正确显示,请查看使用哪些字体渲染right click on emoji -> Inspect -> Computed -> Rendered Fonts并卸载它们。

    • 示例:我的表情符号是用字体渲染的Twitter Color Emoji,因此我需要卸载package fonts-twemoji-svginot
    • 如果您更多地使用字体配置文件,则可能不需要卸载字体,但我尚未对此进行测试。
    • 别忘了重建字体缓存+卸载字体后重新启动chrome。

顺便说一句,这也为我修复了Zalgo文字


1

不要使用该演示页来测试颜色表情符号。该页面仅演示了默认情况下未在Ubuntu中安装的EmojiOne字体(尽管Firefox使用了它的变体)。

而是使用https://unicode.org/emoji/charts/full-emoji-list.html

查看“浏览器”列。在默认的Ubuntu中,它应与Google列基本匹配。(除了“浏览器”列之外,所有其他列都只是.png图标)。我今天进行测试时,由于Google对某些表情符号进行了一些更改(尚未合并到网站中),因此Google列已过时。(例如,汉堡包上面有奶酪。)


足够公平,但这并不是对原始问题(如何在Chrome中启用颜色表情符号)的答案。
gertvdijk

@gertvdijk颜色表情符号确实在谷歌浏览器的工作。哪个特定的网站导致您出现问题?
杰里米·毕查

好的,我看到您通过安装fonts-noto-color-emoji解决了您的问题。我试图让每个Ubuntu 18.04 LTS风格默认都包含该软件包,但是Lubuntu和Kubuntu开发人员不想要它。
杰里米·毕查

@Jeremy_Bicha是的,在Kubuntu上。但是,我的意思是,您的“答案”更多地是对要使用的测试页的其他答案的评论。它并没有真正回答 Q / OP。
gertvdijk

您的链接具有误导性,因为它在“浏览器”列中有一个字体家族CSS规则,其中包括“ Noto Color Emoji”之类的特定字体。大多数网站不会有该CSS规则。因此,对我来说,表情符号可以很好地显示您fonts-noto-color-emoji安装了包的链接,直到我禁用该CSS规则,然后它们才起作用。如果我从您指向gedit或终端窗口的链接中复制+粘贴了一些表情符号,则有些可以正常渲染,而有些则不能渲染(例如,U + 2603☃无效,而U + 26C4⛄正常)。
安倍·沃克
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.