php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 485|回复: 0

修复Arch Linux和Manjaro Linux无法显示emoji的问题

[复制链接]

2672

主题

2679

帖子

9503

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
6709
贡献
0
注册时间
2021-4-14
最后登录
2024-5-19
在线时间
674 小时
QQ
发表于 2022-5-4 08:38:55 | 显示全部楼层 |阅读模式
安装好Arch Linux或Manjaro Linux系统后默认没办法正常显示emoji,通常会变成方框或者带有unicode码的方块:
image.png
这是因为缺失字体以及相关的字体配置导致的。

当然也有一小部分应用没有这个问题(比如Chrome),因为字体是可以在程序里单独设置的,Qt和GTK都有相应的接口,只要设置了正确的字体即可显示emoji。但很多系统程序为了兼容性是没有进行这些设置的,比如文件管理器和终端模拟器。

解决办法:

安装emoji字体
更新字体配置
首先是安装emoji字体,不考虑aur和自己下载安装字体的话一般会安装这个:noto-fonts-emoji。自测应该能正常显示所有常见emoji。

安装命令:
[mw_shl_code=applescript,true]sudo pacman -S noto-fonts-emoji[/mw_shl_code]
这时应用程序还是不能正常显示emoji的,需要进行第二步更新字体配置。

字体的配置文件在/etc/fonts目录下,不同系统可能不同,在这个目录下新建local.conf文件,这个文件里是我们的自定义配置,不要去修改font.conf文件。

local.conf里写入下面的内容:
[mw_shl_code=applescript,true]<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fontconfig> <alias>   <family>sans-serif</family>   <prefer>     <family>Noto Sans</family>     <family>Noto Color Emoji</family>     <family>Noto Emoji</family>     <family>DejaVu Sans</family>   </prefer>  </alias>  <alias>   <family>serif</family>   <prefer>     <family>Noto Serif</family>     <family>Noto Color Emoji</family>     <family>Noto Emoji</family>     <family>DejaVu Serif</family>   </prefer> </alias>  <alias>  <family>monospace</family>  <prefer>    <family>Noto Mono</family>    <family>Noto Color Emoji</family>    <family>Noto Emoji</family>    <family>DejaVu Sans Mono</family>   </prefer> </alias></fontconfig>[/mw_shl_code]
保存文件后使用命令让新配置生效:
[mw_shl_code=applescript,true]fc-cache[/mw_shl_code]
更新完配置后需要重启应用才能正常显示emoji(一部分桌面服务需要注销当前用户再次登录才会重启)。推荐可以的话直接重启一下操作系统。

现在可以正常显示emoji了:
image.png
参考
https://dev.to/darksmile92/get-e ... oto-fonts-emoji-2a9





上一篇:消息已读、未读是怎么设计的?
下一篇:不使用比较和条件判断实现min函数的一种方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-5-20 01:48 , Processed in 0.154232 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表