How to install fonts on Linux
概要
Linuxでフォントをインストールする方法はいくつかある。手動でインストールするにあたっては,Linuxでのフォント管理のライブラリであるFontconfigの設定ファイルについても知っておく必要がある。この記事では以下の順番で内容を記していく。
動作はUbuntu 16.04で確認した。他のディストリビューションでも大きな違いはないと思われる。
結論として,ユーザーが手動でインストールする場合,以下の場所にフォントファイルを配置すればよい。
- システム全体
/usr/local/share/fonts/
- ユーザー専用
~/.local/share/fonts/
パッケージマネージャーを利用
多くの場合,パッケージマネージャーでコマンドなどのパッケージをインストールするのと同じようにフォントもインストール できる。例えば,Ubuntu 16.04ではaptコマンドでfontと検索するとフォントがヒットする。
apt search font
フォント名がわかっていれば,フォント名で検索してもよい。
apt search takao
Sorting... Done Full Text Search... Done fonts-takao/xenial,xenial 003.02.01-9ubuntu3 all Japanese TrueType font set, Takao Fonts fonts-takao-gothic/xenial,xenial,now 003.02.01-9ubuntu3 all [installed] Japanese TrueType font set, Takao Gothic Fonts fonts-takao-mincho/xenial,xenial,now 003.02.01-9ubuntu3 all [installed] Japanese TrueType font set, Takao Mincho Fonts fonts-takao-pgothic/xenial,xenial,now 003.02.01-9ubuntu3 all [installed] Japanese TrueType font set, Takao P Gothic Fonts
パッケージ名がわかれば,インストールできる。
sudo apt install fonts-takao
フォントビューアーでインストール
パッケージマネージャーで提供されていないフォントや,最新のフォントをインストールする場合は,自分でフォントファイルからインストールする。自分でインストールする場合には,以下の2通りの方法がある。
- フォントビューアーを利用。
- 手動でフォントを配置。
ここでは,1. のフォントビューアーでインストールする方法を記す。
デスクトップLinuxではgnome-font-viewer
コマンド(Font Viewer)が使える。Ubuntu 16.04ではDashからfont viewer
で検索すればヒットする。
フォントビューアーでフォントをインストールする手順を示す。サンプルとして,あおぞら明朝フォントを利用する。
gnome-font-viewer
コマンドにフォントファイルを指定して実行。または,ファイルマネージャー(Nautilusなど)からフォントファイルを右クリック>[Open With]>[Font Viewer]から起動。
gnome-font-viewer AozoraMincho-bold.ttf
- ウィンドウの右上の[install]をクリックするとインストールされる。
- フォントは$XDG_DATA_HOME変数が設定されていれば,
$XDG_DATA_HOME/fonts
に,設定されていなければ,~/.local/share/fonts/
にインストールされる。
フォントビューアーを使ったフォントのインストールでは以下2点の問題がある。
- デスクトップの無い,サーバーでフォントをインストールできない。
- システム全体にフォントをインストールできない。
この問題を解決するには,自分で手動でフォントをインストールする必要がある。
手動でインストール
手動でインストールする際には,用途に応じて以下のどちらかのディレクトリにフォントファイルを配置すればよい。
- システム全体
/usr/local/share/fonts/
- ユーザー専用
~/.local/share/fonts/
fonts
ディレクトリの下にさらにフォント名のディレクトリを作っても問題ない。
例
mkdir ~/.local/share/fonts/Aozora/
cp Aozora*.ttf ~/.local/share/fonts/Aozora/
基本的にはこれだけでフォントが有効になる。万が一フォントが選べなければ,以下のコマンドでキャッシュを更新する。
fc-cache -f
Fontconfigの設定
手動でインストールするにあたって,Linuxでのフォント管理の仕組みについて調べたので記しておく。
Linuxでのフォントの管理には,Fontconfigというライブラリーを使っている。Fontconfigのマニュアルは以下のコマンドで確認できる。
man font-conf
fontconfigとセットでインストールされるコマンドのマニュアルの末尾(例:man fc-list
)を見るとわかる通り,/etc/share/doc/fontconfig/fontconfig-user.html
にもマニュアルが配置されている。また,最新のマニュアルを公式サイトでも確認できる。
fontconfigの設定ファイル
マニュアルにかかれている通り,fontconfigの設定ファイルは以下となっている。
/etc/fonts/fonts.conf
/etc/fonts/fonts.dtd
/etc/fonts/conf.d
$XDG_CONFIG_HOME/fontconfig/conf.d
$XDG_CONFIG_HOME/fontconfig/fonts.conf
~/.fonts.conf.d
~/.fonts.conf
設定ファイルがたくさんあるが,注目すべきは/etc/fonts/fonts.conf
だけだ。$XDG_CONFIG_HOME
と~
から始まるファイルは存在しないことがあるからだ。
- 最後の
~/.fonts.conf.d
と~/.fonts.conf
は廃止予定となっている([Files]セクション参照)。 - 真ん中の
$XDG_CONFIG_HOME
から始まる設定ファイルは存在しないことがある。XDG_CONFIG_HOME変数は指定されていなければ,$HOME/.config
を指す(参照:XDG Base Directory Specification)。Ubuntu 16.04では存在しなかった。
フォントのインストールディレクトリ
/etc/fonts/fonts.conf
を確認するとフォントのインストール場所が書かれている。
<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
マニュアルの[Configuration File Format]セクションを確認するとわかるが,<dir prefix="xdg">
と書かれている要素は,環境変数XDG_DATA_HOMEで指定されているディレクトリを指す。そして,XDG_DATA_HOME環境変数は基本的には空となっており,空の場合は$HOME/.local/share
を指す。(参照:XDG Base Directory Specification)。
これらを考慮すると,Linuxでのフォントのインストール場所と役割は以下となる。
ディレクトリ | 説明 |
---|---|
/usr/share/fonts | システム全体フォント(パッケージマネージャー用)。 |
/usr/local/share/fonts | システム全体フォント(ユーザーカスタマイズ)。 |
$XDG_DATA_HOME/fonts(~/.local/share/fonts) | ユーザー用フォント。 |
~/.fonts | ユーザー用フォント。廃止予定。 |
ここで,注意したいのは~/.fonts
ディレクトリだ。ネット上での記事をみると,未だに~/.fonts
にフォントをインストールしているものがたくさんでてくる。しかし,~/.fonts
は/etc/fonts/fonts.conf
のコメントにある通り、廃止予定なので,このディレクトリーにフォントを配置すべきではない。
fontconfigの付属コマンド
fontconfig には、フォント設定を管理する8つのコマンドラインユーティリティが付属している:
- fc-list: fontconfigが把握しているすべてのフォントまたはパターンにマッチするすべてのフォントの一覧を表示する。
- fc-match: fontconfigのマッチングルールに従ってフォントパターン(デフォルトで空のパターン)のマッチングを行い、利用可能なフォントのうち最も適切なものを見つける。
- fc-cache: 指定されたディレクトリまたは設定ファイルで指定されたすべてのディレクトリから、FreeTypeが扱えるすべてのフォントのキャッシュを作成する。
- fc-cat: キャッシュファイルまたはフォントディレクトリからフォント情報を読み込み、それをASCII形式で出力する。
- fc-query: フォントファイルについて問い合わせ、結果を表示する。
- fc-scan: フォントファイルまたはディレクトリをスキャンし、結果を表示する。
- fc-pattern: 指定したパターンに最も近いフォントを表示する。
- fc-validate: フォントファイルを検証し、結果を表示する。
上記のコマンドでよく使うのは,fc-list
とfc-cache
だ。fc-list
で現在インストールされているフォントを確認できる。フォントをインストールして,認識されなかったらfc-cache
コマンドでキャッシュを更新する。
結論
Linuxでのフォントのインストール方法をまとめた。このまとめで,Linuxでのフォントインストール方法は完璧だろう。Ubuntu 16.04で動作を確認したが,CentOSやDebianなど他のディストリビューションでも基本は同じと思う。
ネット上の記事では~/.fonts
にインストールしているものが多く,~/.local/share/fonts
とどちらにインストールしたらいいかわからなかった。また,~/.local/share/fonts
が設定ファイルのどこで指定されているのか,根拠を見つけるのに時間がかかってしまった。結局のところ,設定ファイル/etc/fonts/fonts/conf
に全て情報が書かれていた。一次情報に当たることはやはり重要だ。
“How to install fonts on Linux” に対して1件のコメントがあります。