2014年11月23日日曜日

Arch LinuxのChromiumが文字化けする (Chromium displays garbled characters.)

Arch Linuxのデフォルトのフォント設定のままだと、Chromiumが一部文字化けするらしい。個人的には、Chromiumをインストールする前にフォントの設定をしていたため気づかなかった。いくつかのブログで、自分が使っていたフォント設定がChromiumの文字化けを直してくれると書かれていたので、紹介しておく。
自分で検証してみたが、フォントの設定を無効にしてもChromiumは文字化けしなかった。なので、ほんとに効くのか不明。もし直ったらいいな、程度で参考にして下さい。

/etc/fonts/conf.avail/71-no-embedded-bitmaps.confを作り、以下を記入。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit mode="assign" name="embeddedbitmap">
      <bool>false</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
       <const>hintnone</const>
    </edit>
  </match>
</fontconfig>

次に、/etc/fonts/conf.d/にリンクを貼る。
# ln -s /etc/fonts/conf.avail/71-no-embedded-bitmaps.conf /etc/fonts/conf.d/71-no-embedded-bitmaps.conf

もともと、この設定は日本語表示をきれいにするために行っていたので、なぜChromiumuの文字化けが直るのか不明。bitmapの埋め込みを無効にしているからなのだろうか。

ひとつ確かなのは、fontconfig 2.10.1のバージョンアップで突然文字化けが起こるようになったなら、フォントの設定を~/.font.confに記入していることが原因である。fontconfig 2.10.1のバージョンから
~/.fonts.conf
~/.fonts.conf.d
~/.fontconfig/*.cache-*
は使われなくなった。代わりに使えるのは、
$XDG_CONFIG_HOME/fontconfig/fonts.conf
$XDG_CONFIG_HOME/fontconfig/conf.d/NN-name.conf
$XDG_CACHE_HOME/fontconfig/*.cache-*
というディレクトリ。ちなみに、$XDG_CONFIG_HOMEは自分でパスを指定していない限り、$HOME/.configとなる。

したがって、フォントの設定ファイルのパスを~/.font.confから~/.config/fontconfig/font.confに変更すれば直る場合もあるはず。


参考:
[1]Arch Linuxで日本語フォントをきれいに表示 | フォントのインストール・見やすく表示する設定

スポンサーリンク

スポンサーリンク

0 件のコメント:

コメントを投稿