概要

Gentoo Linuxにデスクトップ環境としてGNOMEをインストールして使っているのですが、ある時から上部のバーの時刻表示の一部が文字化けして:が表示されなくなりました。

ここでは、その問題の解決方法を紹介します。

問題

Gentoo Linuxではいくつかのデスクトップ環境が使えますが、私はGNOMEを使っています。

今までは、問題なく使えていたのですが、あるときパッケージの更新をした際に、上部のバーに表示されている時刻の表示がおかしくなりました。

どのようにおかしくなったかというと、通常は10:00と表示されていたのですが、それが10 00のように、:が表示されず、:の部分が白塗りの文字のようになってしまいました。

原因

色々と調べてみると、GNOMEデスクトップの翻訳に関して面白い記述がありました。

Bug #1864297 “Ubuntu 18.04以降のトップバーやロック画面の時計の区切り文字 ∶ の幅が太すぎるので、細く…” : Bugs : Ubuntu Japanese Kaizen Project

この記事によると、元々GNOMEデスクトップの翻訳時に時刻の:をU+2236としていたようです。ただ、あまりこの文字がよくないのか、U+A4FDに置き換えたということのようです(厳密に言えば、昔はU+A4FDだったのをU+2236へ変更して、その後にU+A4FDへ戻したということのようです)。

つまり、U+A4FDに対応するフォントを用意すれば問題は解決するということのようです。

解決

対応したフォントをインストールすれば良いということで、フォントをインストールしようとしたのですが、Gentooで紹介されている日本語フォントを片っ端からインストールしても問題は解決しませんでした。

そこで、U+A4FDについて調べると、この文字はフレイザー文字というものでラテン文字を基に作られた文字ということが分かりました。

このことから、日本語フォントを入れても解決する見込みは薄いため、ラテン文字などを扱っているだろうフォントをインストールするべきということが分かりました。

次に、ラテン文字を扱っているフォントはおそらく英語のフォントに多いだろうと思い、代表的な英語フォントをインストールすることにしました。

最初に、よく他のLinuxでも使われるNotoフォントをインストールすることにしました。

# emerge media-fonts/noto

インストール後、すぐに時刻が正しく表示されるようになりました。

これで、この問題が解決しました。

さいごに

おそらく、他にも問題を解決するフォントがあると思います。

今回の解決策は、ひとつの方法として誰かの参考になれば幸いです。