Arch linux完美显示Emoji
首先要安装emoji字体,以noto fonts emoji为例
sudo pacman -S noto-fonts-emoji
1.禁用全部位图字体仅对emoji字体启用
Fontconfig 配置文件中,70-no-bitmaps.conf
作用是禁用位图字体。位图字体有时用作缺失字体的后备,这可能会导致文本呈现像素化或过大。在/etc/fonts/conf.d/
中保留该配置文件,则禁用位图字体。
sudo ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/70-no-bitmaps.conf
fontconfig有些时候把某些emoji字体也当做位图字体,所以使用该配置文件,会导致同时禁用emoji字体。如果对所有字体禁用了嵌入位图,则仍然可以为特定字体启用嵌入位图,以防没有嵌入位图而无法正常工作。例如,启用Noto emoji:
gedit 64-enable-emoji.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<match target="font">
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family" qual="any">
<string>Noto Color Emoji</string>
</test>
<edit name="embeddedbitmap">
<bool>true</bool>
</edit>
</match>
</fontconfig>
- 对全局生效,保存到
/etc/fonts/conf.d/
。 - 或者只对用户生效,保存到当前用户的
~/.config/fontconfig/conf.d/
。
2.启用位图字体缩放
禁用位图字体的缩放通常会使位图字体变得模糊,删除 /etc/fonts/conf.d/10-scale-bitmap-fonts.conf
会解决。但是同时会破坏表情符号字体(如 Noto emoji表情符号)的缩放,使它们变得巨大。由于我们上面已禁用了其他位图字体,所以启用位图字体的缩放。
检查/etc/fonts/conf.d/
目录下是否有10-scale-bitmap-fonts.conf
配置文件,如果没有,新建软连接到此处。
sudo ln -s /usr/share/fontconfig/conf.default/10-scale-bitmap-fonts.conf /etc/fonts/conf.d/10-scale-bitmap-fonts.conf
3.刷新字体缓存
fc-cache -fv
关闭需要显示emoji的应用,如浏览器、编辑器、终端等,重新打开,输入emoji表情符号即可看到效果。