2016/07/13

KeePass2 on Ubuntu の文字化けを直す

Ubuntu 16.04 LTS にしたら KeePass2 のサーチ窓が文字化けするようになってしまいました1。 各項目の文字化けは以前対応したのですが、検索窓は初めて。

調べてみると、設定に Force using system font (Unix only) という項目があり、これが問題であることがわかったので、修正してみました。

System font を使わない方法

Force using system font (Unix only) のチェックを外す方法です。

日本語の設定が適切にできていると、このチェックを外して KeePass2 を再起動するだけで文字化けしなくなるかもしれません。

直らない場合、まずは fontconfig の設定を調べます

$ fc-match sans
DejaVuSans.ttf: "DejaVu Sans" "Book"

上記のように日本語フォント以外が設定されていると文字化けしてしまいます。 この場合、以下のような ~/.config/fontconfig/fonts.conf ファイルを作成します。
Noto Sans CJK JP は(インストールされている)好みの日本語フォントに変更してください。

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0"?><!--DOCTYPE fontconfig SYSTEM "fonts.dtd"-->
<fontconfig>
    <match target="pattern">
        <test qual="any" name="family">
            <string>sans-serif</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>sans-serif</string>
            <string>Noto Sans CJK JP</string>
        </edit>
    </match>
</fontconfig>

以下のように表示されればオッケー。
KeePass2 を再起動すると文字化けが直っているはずです。

$ fc-match sans
NotoSansCJKjp-Regular.otf: "Noto Sans CJK JP" "Regular"

System font を変更する方法

Force using system font (Unix only) にチェックを入れて、システムフォントごと変えてしまう手もあります。

参考
穀風: Ubuntu のシステムフォントを変更する方法

ただ、リンク先にも書いてあるとおり、システムフォントを変更すると影響が広範囲にわたるので注意してください。

  1. KeePass2 のバージョンは 2.32 (Dev) Ubuntu のバージョンより KeePass2 のバージョンの問題でしたね 
?

0 件のコメント: