Ubuntu 18.04 LTSでGoogle Noto Fontsを使う

.Net Coreを使って日本語を描画した画像を作りたかった。
日本語だけでなく韓国語、中国語までかなりきれいに使えるということでGoogle Noto Fontsをチョイス。英字もデザインが統一されていてとっても使いやすい。

■フォントをダウンロード

Google Noto Fonts
https://www.google.com/get/noto/

インストール方法は上記サイトに載っている通りだが、CLIで使ってるためfontconfigのインストールが必要だった。

フォントファイルはwgetでもなんでも適当に。

mkdir -p /usr/share/fonts/opentype/noto
cp *otf *otc /usr/share/fonts/opentype/noto

システムで有効にするためfontconfigを入れてキャッシュ再生成。

apt install fontconfig
fc-cache -f -v

■fontconfigの設定

下記のサイトを参考に設定ファイルを作成した。

参考:ぽぬぽぬ: fontconfigの設定

vi /etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <alias>
        <family>serif</family>
        <prefer>
            <family>Noto Serif</family>
            <family>Noto Serif CJK JP</family>
        </prefer>
    </alias>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Noto Sans</family>
            <family>Noto Sans CJK JP</family>
        </prefer>
    </alias>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>Noto Sans Mono CJK JP</family>
        </prefer>
    </alias>
</fontconfig>

あとは適当にrebootしてやればよい。

.NET CoreでUbuntu上でフォント名を指定する場合は、「sans-serif」などとしてあげると上記設定を見てくれる模様。

上記設定だと日本語フォントを優先としていて、
ハングルなどが入力された場合はCJK KRのほうを自動で見に行くなど予期に計らってくれる。賢い。