15
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSLでWindows10のフォントを使用する

Posted at

表題部分について

WSLにフォントを追加する場合、以下の記事で~/.fontsというディレクトリにttfファイルを置いて参照する方法を紹介した。
https://qiita.com/query1000/items/4b0b8db872adc1a5e2e9

だが、Windows10にもともと入っているMS明朝や游明朝をまとめて参照する場合、WSLなのだから、同じマシンに入っているWindowsのフォントを直接使った方が早い。
その方法について。

以下の記事をまるまる参考にした。
https://www.atmarkit.co.jp/ait/articles/1812/27/news033.htmlc/

  • root権限で/etc/fonts/local.confというファイルを作成し、以下のような内容にして保存。
/etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>

これで

$ fc-cache -fv

すればWindowsにインストールされているファイルを直接使える。

/etc/fonts/local.confについて

以下の記事を参考にした。
https://ponu2.blogspot.com/2016/03/fontconfig.html

Linuxではフォントはデフォルトでインストールされる/etc/fonts/fonts.confに指定されている。
しかしこのファイルを直接いじってしまうと、あとのアップデートで上書きされたり、アップデートに追従できなくなったりする。

そこで、同じディレクトリにlocal.confというのを書いて、そのマシンのroot独自の設定を入れる。
local.confの方がfonts.confより優先される。

さらにユーザー単位では~/.fonts/というディレクトリにフォントファイルを入れれば、そっちの方が優先される。

まとめると

  • ユーザーの~/.fonts/
  • そのマシンのrootが作った/etc/fonts/local.conf
  • デフォルトでインストールされ、アップデートされる/etc/fonts/fonts.conf
    の順に優先される。

ぼくはWindowsのマシンは自分ひとりしか使わないのでlocal.confの設定でいいことにした。

(上記の記事にはより細かい設定が書いてあるようだ)

Windows10にフォントをインストールする

以下の記事を参考にした。
https://opentype.jp/fontinst10.htm

最初に掲げた拙記事では、~/.fontsにフォントファイルを直接ぶちこむ方法を紹介している。

しかし、WindowsにフォントをインストールしてそれをWSLで使う場合は、C:\Windows\Fontsにフォントファイルをぶちこんでもうまくいかない。
この場合は、ダウンロードしたフォントファイル(*.ttfやttc)を右クリックし「すべてのユーザーに対してインストール」するとうまくいく。(管理者権限が必要)
単純に「インストール」だと今度はWindowsのユーザーごとのフォルダ「C:\Users(ユーザ名)\AppData\Local\Microsoft\Windows\Fonts」に行ってしまうので注意。

おいらなんも知らんなー。。

(この項おわり)

15
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?