Closed auralioth closed 5 months ago
是否应该内置 emoji 字体?
Flatpak确实内置了noto emoji,而且本机的/usr/share/fonts放在了/run/host/fonts里面,fc-list都可以找到,但是我这里不知道为什么默认情况下emoji不显示。你那里会默认显示吗?
Flatpak确实内置了noto emoji,而且本机的/usr/share/fonts放在了/run/host/fonts里面,fc-list都可以找到,但是我这里不知道为什么默认情况下emoji不显示。你那里会默认显示吗?
我这里也是有很多 emoji 不能正常显示的,没太搞明白是怎么回事。 试了一下同样是 Flatpak 安装的 Qt 软件 PrismLauncher,也是同样的问题。这个是否是 Flatpak 软件的共同问题,或者是我本机的配置有问题?
应该是Flatpak的问题,我看确实有很多应用都不能正确显示emoji,要不build的时候人为添加一个fallback方案
noto-color-emoji.conf
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<description>Emoji fix</description>
<alias binding="weak">
<family>sans-serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias binding="weak">
<family>serif</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias binding="weak">
<family>monospace</family>
<prefer>
<family>Noto Color Emoji</family>
</prefer>
</alias>
</fontconfig>
然后添加一个module,把config装到/app/etc/fonts/local.conf里
{
"name": "noto-color-emoji",
"buildsystem": "simple",
"sources": [
{
"type": "file",
"path": "noto-color-emoji.conf"
},
],
"build-commands": [
"mkdir -p /app/etc/fonts/",
"cp noto-color-emoji.conf /app/etc/fonts/local.conf",
"fc-cache -fv"
]
},
此外再bind一下 per-user configuration ,针对不想用noto color emoji的自定义用户
- --filesystem=xdg-config/fontconfig:ro
我去试一下。
好哦!!
上面链接的版本可以正常显示 emoji 了吗?
我关掉xdg-config/fontconfig也是可以显示的,没问题了
系统
Arch + kde6
问题
目前版本没有bind xdg-config/fontconfig:ro ,我这里会出现聊天内容的emoji方框和黑白的问题,如下图所示:![屏幕截图_20240316_130547](https://github.com/web1n/wechat-universal-flatpak/assets/122893272/2c33b556-f107-4530-a973-0af96caf329f)
emoji是🚀,即\U1F680
测试
没有bind时我运行
发现:
能匹配到emoji,但是不知道为什么显示为方框
解决
我把我自己的fontconfig精简了一下,然后bind进去,发现至少得有下面这一段:
在我这里无衬线部分得手动指定emoji字体聊天内容的emoji才能显示
不知道大家有没有这个问题,如果有的话可不可以考虑build时加一条