先看看不同emoji的样式
- 图一是Noto的,linux和大部分安卓系统自带emoji
- 图二是HMOS的,华为鸿蒙的所有系统自带emoji
- 图三是IOS的,苹果设备自带emoji
怎么修改呢
简单方法
- 复制替换即可
如果是安卓的话可能还需要magisk模块来实现,但是linux可就简单多了,下载相应emoji的ttf字体后,重命名 NotoColorEmoji ,然后复制到 /usr/share/fonts/truetype/noto 里即能完成emoji的切换 但这个方法简单,也有不足,emoji覆盖不全
复杂方法
- 修改linux的配置
修改配置
前往 .config/fontconfig/conf.d 文件夹添加 01-hmos-emoji.conf
在 01-hmos-emoji.conf 文件里输入
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- 1. 将常见的emoji字体别名指向HMOS -->
<alias binding="strong">
<family>Apple Color Emoji</family>
<prefer>
<family>HMOS Color Emoji</family>
</prefer>
</alias>
<alias binding="strong">
<family>Segoe UI Emoji</family>
<prefer>
<family>HMOS Color Emoji</family>
</prefer>
</alias>
<alias binding="strong">
<family>Noto Color Emoji</family>
<prefer>
<family>HMOS Color Emoji</family>
</prefer>
</alias>
<alias binding="strong">
<family>emoji</family>
<prefer>
<family>HMOS Color Emoji</family>
</prefer>
</alias>
<!-- 2. 针对所有字体匹配,添加HMOS到字体列表 -->
<match target="pattern">
<test name="family" compare="eq">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend">
<string>HMOS Color Emoji</string>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>serif</string>
</test>
<edit name="family" mode="prepend">
<string>HMOS Color Emoji</string>
</edit>
</match>
<match target="pattern">
<test name="family" compare="eq">
<string>monospace</string>
</test>
<edit name="family" mode="prepend">
<string>HMOS Color Emoji</string>
</edit>
</match>
</fontconfig>
如果想要系统级而不是用户级的话就把这个文件添加到 /etc/fonts/conf.d/ 里。
将字体添加进系统字体
进入 /usr/share/fonts/truetype 文件,创建一个 hmos 文件夹,然后把HMOSColorEmojiCompat.ttf文件放进去即可
诶或许可以直接安装字体就行了👀。
刷新字体缓存
shell里输入
sudo fc-cache -f -v
刷新缓存,然后重启电脑 可以通过以下命令检验字体是否被系统正确识别
fc-list | grep "HMOS"
我的输出为
SkyShadowHero@SkyShadowHero-Deepin ~/Desktop> fc-list | grep "HMOS"
/usr/share/fonts/truetype/hmos/HMOSColorEmojiCompat.ttf: HMOS Color Emoji:style=Regular
/home/SkyShadowHero/.local/share/fonts/HMOS Color Emoji/HMOSColorEmojiCompat.ttf: HMOS Color Emoji:style=Regular
即代表已成功识别
后言
其他的emoji字体也应该可以通过同样的方法替换,顺便分享一下HMOSColorEmojiCompat.ttf文件,这是以前刷手机时,从一个鸿蒙的系统包里拆出来的 123云盘链接🔗 提取码:eQNA
后后言
为了这个封面图,找不到好用明了的字体管理器,我甚至找llm用pyqt5重新做了一个,好神奇
字体预览器Github仓库地址
版权信息
- 文章作者:天影大侠
- 文章链接:https://blog.skyshadow.fun/posts/30/
- 版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议 。转载请注明来源本站


