问题

从flatpak下载安装的一些程序,中文存在显示问题,把一些文字显示成方块。

如下图所示,我用flatpak安装的okular就存在这个问题,它把目录的一些文体显示成方块。

目录的一些文体显示成方块

解决办法

目前在网上找到两种解决办法,一种是通过在应用文件夹内引入系统字体配置,如下:

1
2
3
4
cd ~/.var/app/org.telegram.desktop/config
mkdir -p fontconfig/conf.d
cd fontconfig/conf.d
cp /etc/fonts/conf.d/*.conf ./

还有一种是配置fontconfig,需要创建(如果没有)编写~/.config/fontconfig/fonts.conf文件,然后再执行下面的命令:

1
flatpak override --user --filesystem="xdg-config/fontconfig:ro" your.flatpak.app

本文所使用的办法是将两者结合,第一种方法只针对单个应用有效,如果后面又有一个应用存在这种问题,又要重复操作,比较繁琐。第二种方法可以配置一个全局的文件,然后应用与指定的应用,不过我不想写配置文件。

方法具体如下:

1
2
3
mkdir -p ~/.config/fontconfig/conf.d
cp /etc/fonts/conf.d/*.conf ~/.config/fontconfig/conf.d/
flatpak override --user --filesystem="xdg-config/fontconfig:ro" your.flatpak.app

如果后续安装的应用又有中文显示问题,可以直接执行下面问题配置。

1
flatpak override --user --filesystem="xdg-config/fontconfig:ro" your.flatpak.app

参考

1、修复 Flatpak 安装的 Telegram 中文字体问题

2、Flatpak 应用中文字体问题