Application: LibreOffice - Installation (2)
環境依存不具合の解消
LibreOffice日本語パックをインストールした時点で、メニューなどのインタフェースが全て日本語表示に変わります。ただし、特定の環境においてはそのままだと一部の箇所において表示が文字化け(豆腐化)することがあります。
一例を挙げると、例えばLibreOffice Calcの数式テキストボックスであったり。

Fig.1-1: 英数字はOK

Fig.1-2: 日本語は豆腐化

Fig.1-3: 日本語部分のみ豆腐化
また、LibreOfficeランチャーの、最近使用したファイル一覧表示であったり。

Fig.1-4: 日本語を含むファイル名で保存すると

Fig.1-5: ランチャー上でファイル名の日本語部分が豆腐化
このように、何らかの理由でこれら特定の表示箇所において日本語が文字化けしてしまう現象が見られます。そしてこの現象は、LibreOffice側のフォント設定等を変更しても解消されません。
今回は、この原因の分析と解決方法について解説していきます。
どのような環境でこの文字化けが発生するのか?
まずは、比較検証のためいくつかLinuxディストリビューションにLibreOfficeをインストールし、この現象が発生する環境と、そうでない環境を整理してみた結果がこちらです。
| Linux Distribution | 現象の有無 | Desktop Environment | LibreOffice GUI Framework | OS System Default JP Font |
|---|---|---|---|---|
| Manjaro 26.0.3 KDE | 文字化け発生 | KDE Plasma | kf6 (cairo+wayland) | DroidSansJapanese.ttf "Droid Sans" |
| Manjaro 26.0.3 GNOME | 正常 | GNOME | gtk3 | NotoSansCJK-Regular.ttc "Noto Sans CJK JP" |
| Manjaro 26.0.3 Xfce | 文字化け発生 | Xfce | gtk3 | DroidSansJapanese.ttf "Droid Sans" |
| Mageia 9 KDE | 正常 | KDE Plasma | kf5 (cairo+xcb) | SourceHanSans.ttc "源ノ角ゴシック" |
| Linux Mint 22.3 Cinnamon | 正常 | Cinnamon | gtk3 | fonts-japanese-gothic.ttf "Takao Pゴシック" |
| OpenSUSE Tumbleweed GNOME | 正常 | GNOME | gtk3 | ipagp.ttf "IPA Pゴシック" |
| Solus 4.8 Budgie | 正常 | Budgie | gtk3 | DroidSansFallbackFull.ttf "Droid Sans Fallback" |
| CachyOS KDE | 正常 | KDE Plasma | kf6 (cairo+wayland) | NotoSansCJK-Regular.ttc "Noto Sans CJK JP" |
まず、この現象が発生するのはManjaro KDEとManjaro Xfceですが、同一バージョンのManjaro 26.0.3 GNOMEデスクトップ環境では発生しないため、OSそれ自体に起因する問題ではありません。
さらに、同じArch LinuxをベースとするCachyOS KDEはManjaro KDEによく似た構成とも言えますが、にもかかわらずCachy OS KDEでは発生しないことから、KDE Plasmaに起因する問題でもないことがわかります。
また、アプリケーション開発に用いられるGUIフレームワークのQtでのみ発生するのかどうかという点については、GTK版のLibreOfficeがインストールされるManjaro Xfceで同じ現象が発生していることから、フレームワークに起因する問題でもありません。
そうなると怪しいのは、OSを日本語環境でインストールした際に適用されるデフォルトフォントです。この現象が発生するManjaro KDEとManjaro Xfceでは、いずれもDroidSansJapanese.ttf / "Droid Sans" "Regular"がデフォルトフォントになっています。察するに、LibreOfficeは前述の一部表示領域においてはLibreOfficeの環境設定で指定したフォントではなく、OS側のデフォルトフォントを用いる仕組みになっていて、何らかの理由でそれが文字化けの原因となっていると考えられます。

Fig.2-1: Manjaro KDEにプリインストールされているDroid系フォント
解決方法
Pamacパッケージマネージャから「ttf-droid」を検索します。

Fig.3-1: パッケージマネージャからプリインストール済みのttf-droidフォントを検索
このDroidフォントをアンインストールすると、日本語環境のデフォルトフォントがその次に優先度の高いNotoSansCJK-Regular.ttc / "Noto Sans CJK JP" "Regular"に変わり、これによって前述のLibreOfficeの一部文字化け現象は解決されます。
なお、デフォルトフォントがNoto Sans CJK JPに変わったことによって何かしら副作用はないのかどうかについては、今のところ目につく範囲では何も問題ありません。どういった理由でManjaroの各デスクトップ環境のうちGNOMEだけ初期状態でデフォルトフォントがNoto Sans CJK JPになっているのかは不明ですが、そもそも先程の表を見るとわかるようにNoto Sans CJK JPはCachyOS KDEの日本語環境デフォルトフォントであり、したがってKDE Plasmaと相性が悪いということもないと思われます。
備考
このDroid Sansは元々Androidのために作られたフォントで、多くのAndroidスマートフォンでデフォルトフォントとして用いられています。Manjaro 26.0.3時点のKDEとXfceデスクトップ環境版ではこのフォントがプリインストール済み、かつ優先度の高い設定になっています。
そして、このOS側のデフォルトフォントがどうなっているのかはKDEシステム設定からは視認できません。以下のように、Manjaro KDEでもCachyOS KDEでも、KDEシステム設定上のフォント設定は何も変わらないのです。

Fig.4-1: Manjaro KDEのフォント設定

Fig.4-2: CachyOS KDEのフォント設定
デフォルトフォントの確認は、ターミナルから、バックグラウンドで動作している「fontconfig」サービスへのアクセスを行うコマンド操作が必要となります。

Fig.4-3: 初期状態のManjaro KDEのターミナルでfc-matchコマンドを実行した様子
なお、厳密に言えばフォント関連の設定はroot下の/etc/fonts/の中で指定されており、やりようによってはアンインストールしなくても優先度を入れ替えることも可能かもしれませんが、これは非常に複雑な操作になってしまうためここでは触れません。
