我正在尝试找到一种包含 Unicode 表情符号集的合适字体。
当 iPhone 用户通过 Google Hangouts 向我发送一些表情符号时,它们要么渲染不正确,要么根本不渲染。
从维基百科页面的以下屏幕截图可以看出该问题:
正如您所看到的,多样性表情符号尤其有问题。
iPhone 用户只需选择一种“颜色”(肤色)即可。显然iPhone上使用的字体是Helvetica。
我们这些使用 Linux 的人(在我的例子中是 Ubuntu 和 Android)都被表情符号和未定义的符号所困扰:
。第二个字形应该修改第一个字形的颜色。
显然,这是因为该字体没有所需的字形。
现在,我已经谷歌搜索了几个小时并阅读了几页,其中一些指向这里,但根本没有解决方案。这包括 StackExchange 网络上的所有答案。也许我问错了问题。
我努力了:
它们都不起作用。要么他们仍然缺少所需的符号,要么他们缺少所有表情符号,尽管他们声称不然,他们根本不起作用,他们没有显示为在 Chrome 中选择的选项(不知道为什么),或者我就是不能'不明白他们的意思。
此页面列出了缺失的“Google”符号。我认为这意味着 Android,因为我正在从运行 Google Hangouts 应用程序的 iPhone 接收消息。
那么,有人找到了包含所有必需符号的字体吗?
我想让 Google Noto Color Emoji 替换所有其他表情符号,所以我看不到通用的。就像这里的这个:

为了测试这一点,我使用了以下页面:http : //getemoji.com/,其中显示了浏览器可以使用的“所有”表情符号。如您所见,只缺少一些。
我怀疑某些其他字体可能具有更高的优先级,因此它尝试在 Noto Color Emoji 之前使用它。
我可以通过以下方式解决这个问题:如果我只是这样做,它将在http://getemoji.com等网站上运行,但在 facebook 和其他社交网站上不起作用。
<match>
<test name="family"><string>Segoe UI</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Noto Color Emoji</string>
</edit>
</match>
Run Code Online (Sandbox Code Playgroud)
我目前在 .config/fontconfig/fonts.conf 中使用这些行,以确保它们在 Google Chrome 中工作
<!-- Emojis -->
<match target="scan">
<test name="family">
<string>Noto Color Emoji</string>
</test>
<edit name="scalable" mode="assign">
<bool>true</bool>
</edit>
</match>
<match target="pattern">
<test name="prgname">
<string>chrome</string>
</test>
<edit name="family" mode="prepend_first">
<string>Noto Color Emoji</string>
</edit>
</match>
Run Code Online (Sandbox Code Playgroud)
我试图删除所有 microsoft 字体、符号字体和其他字体以找出执行此操作的字体,但我无法弄清楚:(
Ubuntu 16.04.1 带有:Noto Color Emoji …
我fonts.conf在 Ubuntu 16.10 Unity 中使用以下内容在系统范围内应用 noto color emoji:
<!-- First install Noto Color Emoji font in ~/home/.fonts, then copy this file to
~/home/.config/fontconfig. This will set default emoji font to Noto Color Emoji font systemwide -->
<fontconfig>
<match>
<test name="family"><string>sans-serif</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Color Emoji</string>
</edit>
</match>
<match>
<test name="family"><string>serif</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Color Emoji</string>
</edit>
</match>
<match>
<test name="family"><string>monospace</string></test>
<edit name="family" mode="prepend" binding="strong">
<string>Emoji One Color</string>
</edit>
</match>
<match>
<test name="family"><string>Apple Color Emoji</string></test> …Run Code Online (Sandbox Code Playgroud) 我一直在网上挖掘和搜索这个问题的答案,但无济于事。这是什么原因造成的:
如您所见,阅读数字很困难。将 Firefox 设置为安全模式并不能解决问题。
禁用顶部栏的字体使事情再次正常:
GNOME 终端可以在运行 Ubuntu 20.04.5 的计算机上正确显示彩色表情符号。
但在KDE Konsole上,我无法显示表情符号。我在网上搜索过,但没有结果。
我感谢您的帮助。
在过去的几个 Ubuntu 版本中(如果我没记错的话,在 20.04 开始时也是如此),我可以通过单击ctrl+ shift+e然后输入名称来在每个应用程序中插入表情符号。这是一个非常方便的功能,突然停止工作了。
我已经验证它ibus-daemon正在运行并且键盘快捷键没有更改ibus-setup(我也尝试将其更改为其他内容,但无济于事)。我也尝试过这里答案中描述的解决方案,但是它只解决了部分问题(快捷方式在 Gedit 中有效,但在其他地方几乎没有)。
有什么变化是我错过的吗?或者我是否破坏了我的系统上的某些东西(这很奇怪,因为它会影响我运行 20.04 的两台机器)?
谢谢你的时间!
我正在运行 Ubuntu 16.04.3 LTS。
我想在系统范围内(在操作系统和浏览器中)使用的表情符号字体是 Noto 的非彩色版本或:NotoEmoji-Regular.ttf(由 Google 提供)
如何将其配置为默认值而不是Symbola(这是当前的默认值)?
我刚刚从 16.04 升级到 Ubuntu 18.04,看到大多数表情符号都运行良好,但其中一些仍然以黑白显示。问题在于谷歌浏览器和默认终端(尚未测试其他应用程序)。所有表情符号在 gedit 和 Firefox 中都可以正常工作。
特别是,我无法正确显示国旗。
此外,在例如Emojipedia和 Facebook 上,所有表情符号都可以正常显示(即使在 Chrome 中),但某些国家/地区标志(如德国国旗)和例如思考脸不会显示在浏览器标签标题中。其他的,如带有 3 颗心的笑脸在浏览器标签标题中正确显示(彩色)。
我已经尝试按照此答案中的建议安装表情符号字体,但 Ubuntu 声称它已经是最新版本:
fonts-noto-color-emoji 已经是最新版本 (0~20180810-0ubuntu1)。
我知道这听起来像是一个愚蠢的问题,但我正在设计一个聊天机器人并且需要在那里使用表情符号 - 如果我看不到最终用户会看到什么,这很难做到。我完全无法让它在 16.04 上工作,因此升级到 18.04。但仍然没有成功。
如果有帮助,我正在使用 Google Chrome 73.0.3683.86(官方版本)(64 位)。