Linux
CentOS
font
fontconfig

LINUX(CentOS)のフォントのあれこれ

CentOS7でフォントを少しいじるメモ

リナックスにフォントのインストールやあれこれする必要があった。
毎回ググってたので、ここにメモする。
意外とfontconfigに関する情報って纏まってない気がする。

インストール

フォントのインストールは実体のフォントファイルを特定のディレクトリにコピーするだけでいい。

・すべてのユーザー向け

全リナックスユーザーで共通に使用するフォントは
/usr/share/fonts/
にコピーする

cp /path/to/fontfile /usr/share/fonts

ちなみに/usr/share/fonts/に新たにディレクトリを作成した階層構造にしても問題ない。

cp /path/to/fontfile /usr/share/fonts/AdditionalFonts/

・特定のユーザー専用

特定のユーザーにのみフォントの追加を行う場合、
追加したいユーザーのホームディレクトリに
.local/share/fonts/
というディレクトリを作って、その配下にフォントファイルをコピーする
(すでに存在していれば作成する必要無し。)

cd /home/username 
mkdir ./.local/share/fonts/ #すでにあれば必要無し
cp path/to/fontfile .local/share/fonts/

こんな感じでOKだと思う。

fc-list

インストール済みフォントはfc-listで取得できる。

fc-list

ちなみに

fc-list -v

とすると一覧の情報が詳細になる。

ここで取得できるのは、fc-listコマンドを実行したユーザーが使えるフォントである。
ユーザーAに対してインストールしたフォントはたとえrootで実行しても表示されないので注意。

fc-match

あるキーワードを渡すと、それにマッチすると思われたフォントの情報が返される。

こんな感じ

fc-match serif

すると返り値はこんな感じ

SourceHanSerif-Medium.otf: "Source Han Serif" "Medium"
#ファイル名          フォント名   ウェイト

ウェイトを指定して検索する場合

fc-match serif:weight=bold

fc-match serif:bold

のように:weight=をつけたり:区切ってやるといいみたい。
ちなみにfc-matchでも-vのオプションを付けることで、
詳細なフォント情報を出力させることができる

そのほかの条件で検索する場合
ファイル名なら

fc-match :file="/usr/share/fonts/gen_min/SourceHanSerif-Regular.otf"

ポストスクリプト名なら

fc-match :postscriptname=SourceHanSerif-Regular

こう

そんなかんじ