Ubuntu 18.04 LTSの日本語フォントを変更する!【詳細解説】

2018年5月2日

Ubuntu 18.04 LTSより、デフォルトの日本語フォントが「Takaoフォント」からNotoフォントになりました。
ログイン画面やGNOME Shell、Webブラウザなど各アプリに表示される日本語フォントが、以前のバージョンとは変わっています。

しかし、「Takaoフォント」に戻したい人や、他のフォントをデフォルトの日本語フォントに設定したい人もいるでしょう。

そこで、このページではデフォルトの日本語フォントを変更する方法を紹介します。

デフォルトフォントの確認

デフォルトフォントは、「fc-match」コマンドで確認できます。

$ fc-match 
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"

以下のように、「sans(サンセリフ)」「serif(セリフ)」「monospace(等幅)」といったファミリー名を指定することもできます。

$ fc-match sans
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
$ fc-match serif
NotoSerifCJK-Regular.ttc: "Noto Serif CJK JP" "Regular"
$ fc-match monospace
NotoSansCJK-Regular.ttc: "Noto Sans Mono CJK JP" "Regular"

また、「-a」オプションで優先される順番でフォントを出力することができます。
次のコマンド文は、「Ubuntu」を指定した時に用いられるフォントを優先順位の高いものから表示します。

$ fc-match -a Ubuntu | head
Ubuntu-R.ttf: "Ubuntu" "Regular"
Ubuntu-M.ttf: "Ubuntu" "Medium"
Ubuntu-L.ttf: "Ubuntu" "Light"
Ubuntu-B.ttf: "Ubuntu" "Bold"
Ubuntu-RI.ttf: "Ubuntu" "Italic"
Ubuntu-MI.ttf: "Ubuntu" "Medium Italic"
Ubuntu-LI.ttf: "Ubuntu" "Light Italic"
Ubuntu-BI.ttf: "Ubuntu" "Bold Italic"
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
DejaVuSans.ttf: "DejaVu Sans" "Book"

「Ubuntuフォント」に日本語の文字は入っていないので、「Ubuntu」を指定するとアルファベットや記号には「Ubuntuフォント」が用いられ、それ以外は「Noto Sans CJK JP」が用いられるということが分かります。
GNOMEのメニューやトップバー、ウィンドウタイトルなどは、この「Ubuntu + Noto Sans CJK JP」で表示されています。

Takaoフォントに戻すには?

18.04 LTSのデフォルトフォントを、17.10までデフォルトだったTakaoフォントに戻すのは簡単です。
以下のボタンをクリックして、「fonts-takao-pgothic」(プロポーショナルゴシック)、「fonts-takao-gothic」(等幅ゴシック)および「fonts-takao-mincho」(明朝)をインストールするだけです。

以下のコマンドでインストールすることもできます。

sudo apt install 'fonts-takao-*'

インストール後、しばらく待つとGNOMEのフォントが変化します。アプリは新しく立ち上げたもののみ、Takaoフォントがデフォルトとなります。
うまく反映されなかったり、表示がおかしくなることもあるので、できればログインし直したほうがいいでしょう。

念のためログインし直したら、fc-matchでデフォルトフォントが変わったことを確認してみましょう。

$ fc-match 
fonts-japanese-gothic.ttf: "Takao Pゴシック" "Regular"

GNOMEや各アプリのフォントも、よく見れば変わっているはずです。

ただし、Takaoフォントをインストールすると、「文字」や「電卓」などのアプリが文字化けを起こすという問題があります。
詳細および回避方法については、以下の記事を参照してください。

インストールするだけでTakaoフォントがデフォルトになるのは、「/etc/fonts/conf.avail/」にある「65-fonts-takao-pgothic.conf」「65-fonts-takao-gothic.conf」「65-fonts-takao-mincho.conf」でTakaoフォントを優先するよう設定されているためです。

たとえば、65-fonts-takao-pgothic.confには、以下のような記述があります(一部抜粋)。

<match target="pattern">
    <test name="lang" compare="contains">
        <string>ja</string>
    </test>
     <test qual="any" name="family">
        <string>sans-serif</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
        <string>TakaoPGothic</string>
    </edit>
</match>

この設定により、各種アプリで使われる「sans-serif」(サンセリフ)フォントとして、「Takao Pゴシック」が最優先されます。

ただ、前述の文字化け問題もありますし、そもそもインストールするだけでデフォルトフォントが差し替わってしまうというのは、あまり好ましくない挙動だと判断される可能性もあるので、将来のバージョンでは変更されるかもしれません。

Takaoフォントは入れたいけど、デフォルトにしたくない場合は?

Ubuntu 17.10以前のバージョンでは、LibreOfficeなどでも「Takaoフォント」がデフォルトとなっていました。
そのため、これまで作成したドキュメントにTakaoフォントを用いている人も多いでしょう。
これらのドキュメントを今までどおり表示するためにTakaoフォントをインストールしたいが、デフォルトフォントは「Notoフォント」のままにしたい、という場合も考えられます。

そのためには、「/etc/fonts/conf.d/」以下に作成されているシンボリックリンクを、削除する必要があります。
まず、どのようにシンボリックリンクが作成されているか、確認してみましょう。

$ ls -l /etc/fonts/conf.d/*takao*
lrwxrwxrwx 1 root root 40  7月 27  2017 /etc/fonts/conf.d/65-fonts-takao-gothic.conf -> ../conf.avail/65-fonts-takao-gothic.conf
lrwxrwxrwx 1 root root 40  7月 27  2017 /etc/fonts/conf.d/65-fonts-takao-mincho.conf -> ../conf.avail/65-fonts-takao-mincho.conf
lrwxrwxrwx 1 root root 41  7月 27  2017 /etc/fonts/conf.d/65-fonts-takao-pgothic.conf -> ../conf.avail/65-fonts-takao-pgothic.conf

これらのシンボリックリンクは、以下のコマンドで削除できます。

sudo rm /etc/fonts/conf.d/65-fonts-takao-*

削除すると、デフォルトフォントが「Notoフォント」に戻ります。

再びTakaoフォントをデフォルトにするなら、以下のコマンドでシンボリックリンクを張り直しましょう。

sudo ln -s ../conf.avail/65-fonts-takao-gothic.conf /etc/fonts/conf.d/65-fonts-takao-gothic.conf
sudo ln -s ../conf.avail/65-fonts-takao-mincho.conf /etc/fonts/conf.d/65-fonts-takao-mincho.conf
sudo ln -s ../conf.avail/65-fonts-takao-pgothic.conf /etc/fonts/conf.d/65-fonts-takao-pgothic.conf

IPAフォントをデフォルトにするには?

「Takaoフォント」は、「IPAフォント」(および「IPAexフォント」)の派生フォントです。
Ubuntuでは「Takaoフォント」が約8年に渡りデフォルトの日本語フォントとなっていましたが、他のOSでは本家である「IPAフォント」を用いるのが一般的です。
そのため、「IPAフォント」が使われたLibreOfficeなどの文書ファイルを作ったり、受け取ったりする人も多いでしょう。

以下のボタンをクリックすると、IPAフォントがインストールできます。

以下のコマンドでインストールすることもできます。

sudo apt install fonts-ipafont fonts-ipaexfont

IPAフォントは、インストールしただけではデフォルトの日本語フォントにはなりません。
デフォルトの日本語フォントにするには、以下の内容で「/etc/fonts/local.conf」を作成します。
特定のユーザーだけIPAフォントをデフォルトにする場合は、ユーザーごとに「~/.config/fontconfig/fonts.conf」という名前で作成してください。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
   <match target="pattern">
        <test name="lang" compare="contains">
            <string>ja</string>
        </test>
        <test qual="any" name="family">
            <string>sans-serif</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>IPA Pゴシック</string>
        </edit>
    </match>
    <match target="pattern">
        <test name="lang" compare="contains">
            <string>ja</string>
        </test>
         <test qual="any" name="family">
            <string>serif</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>IPA P明朝</string>
        </edit>
    </match>
    <match target="pattern">
        <test name="lang" compare="contains">
            <string>ja</string>
        </test>
         <test qual="any" name="family">
            <string>monospace</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>IPAゴシック</string>
        </edit>
    </match>
</fontconfig>

なお、IPAフォントをデフォルトにしても、Takaoフォントのような文字化け問題は起こりませんでした。

他のフォントをデフォルトにするには?

もちろん、他のフォントをデフォルトに設定することも可能です。
たとえば、FedoraやCentOSでデフォルトとなっている「VLゴシック」をデフォルトにすることもできます。

まず、以下のボタンをクリックしてインストールします。

以下のコマンドでインストールすることもできます。

sudo apt install fonts-vlgothic

そして、以下の内容で「/etc/fonts/local.conf」もしくは「~/.config/fontconfig/fonts.conf」を作成します。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
   <match target="pattern">
        <test name="lang" compare="contains">
            <string>ja</string>
        </test>
        <test qual="any" name="family">
            <string>sans-serif</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>VL Pゴシック</string>
        </edit>
    </match>
    <match target="pattern">
        <test name="lang" compare="contains">
            <string>ja</string>
        </test>
         <test qual="any" name="family">
            <string>monospace</string>
        </test>
        <edit name="family" mode="prepend" binding="strong">
            <string>VL ゴシック</string>
        </edit>
    </match>
</fontconfig>

ログインし直すと、以下のようにVLゴシックがデフォルトのフォントになります。

関連記事