WSLからWindows側のフォントを使いたい

texでレポートを書いているときにフォントを変えたいなと思ったのですが、texがWSLに入っていてフォントがWindowsに入っているせいで使いたいフォントが全然使えませんでした。(使えるフォントの種類はfc-list でたしかめられる)

ということで、こちらこちらを参考にさせていただき、ごにょごにょしたらWindowsの方のフォントを参照できるようになったので、やりかたを書いておこうと思います。

 

・WSLで/etc/fonts/に移動する。ここでは管理者権限じゃないとファイルとかいじれないぽいので、以下では毎回須藤さんを呼ばないといけません。

・sudo touch local.conf とかなんとかして、設定用のlocal.confというファイルを作る

・local.conf に以下のxmlを書く。sudo vim local.conf とかで...

 

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>

 

で、これでもう一度fc-listってすると、C:\Windows\Fonts にあるプリセットのフォントは全部読み込まれてそうなんですが、自分でインストールしたフリーフォントが読み込まれてなかった!!どうして!?

となったので、設定>個人用設定>フォント を見てみたらなんか知らんけど違うところにありました。インストールしたときはおんなじフォルダにいれたと思ったのにな...

 

(AppDataは隠しフォルダなので普通はエクスプローラーでは見えなくなっており、表示ってところから隠しフォルダを表示するようにすると確認できるようになります。)

 

ということで、さっきのxmlの4行目の後に

  <dir>/mnt/c/Users/"ユーザ名"/AppData/Local/Microsoft/Windows/Fonts</dir>

というのを足せばよさそうなので、

 
改めて local.conf を
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/mnt/c/Windows/Fonts</dir>
  <dir>/mnt/c/Users/"ユーザ名"/AppData/Local/Microsoft/Windows/Fonts</dir>
</fontconfig>
とやって fc-list するとちゃんと読み込めていることが確かめられました。
 
最高。万歳。インターネットありがとう。