前提条件: Chrome OS Flex (135らへんのバージョン)
Chrome OS上のLinux環境(Crostini)のアプリで日本語入力したい場合、
以前は別途IME(fcitx-mozc
など)の導入などが必要だったのですが、
最近だとChrome OS側の日本語入力環境がそのまま使えるようになったみたいです。
ということでVisual Studio Codeでも使おうかしらとインストールしてみると、 UIのフォントが何故かIPAex明朝になっています。
fc-match
で見てみるとこんな感じ。
% fc-match sans
ipaexm.ttf: "IPAex明朝" "Regular"
% fc-match system-ui
ipaexm.ttf: "IPAex明朝" "Regular"
apt
でfonts-noto-cjk
をインストールしても良いのですが、
Crostini環境だとホスト側のフォントがどこかにマウントされているっぽいので、
そっちを使うようにしてみます。
フォントファイルのある場所を探します。
% mount | grep font
fonts on /usr/share/fonts/chromeos type virtiofs (ro,nosuid,nodev,noexec,relatime)
/usr/share/fonts/chromeos
にホスト側のフォントがマウントされており、
notocjk
フォルダにNoto CJKフォントが入っていました。
/usr/share/fonts
以下のフォルダはfontconfig
に認識されているので、
fc-list
の出力からNoto CJKフォントを探してみます。
% fc-list | grep "CJK JP"
/usr/share/fonts/chromeos/notocjk/NotoSansCJK-Bold.ttc: Noto Sans Mono CJK JP:style=Bold
/usr/share/fonts/chromeos/notocjk/NotoSansCJK-Bold.ttc: Noto Sans CJK JP:style=Bold
/usr/share/fonts/chromeos/notocjk/NotoSerifCJK-Light.ttc: Noto Serif CJK JP,Noto Serif CJK JP Light:style=Light,Regular
/usr/share/fonts/chromeos/notocjk/NotoSansCJK-Light.ttc: Noto Sans CJK JP,Noto Sans CJK JP Light:style=Light,Regular
/usr/share/fonts/chromeos/notocjk/NotoSansCJK-Regular.ttc: Noto Sans CJK JP:style=Regular
/usr/share/fonts/chromeos/notocjk/NotoSerifCJK-Regular.ttc: Noto Serif CJK JP:style=Regular
/usr/share/fonts/chromeos/notocjk/NotoSansCJK-Regular.ttc: Noto Sans Mono CJK JP:style=Regular
/usr/share/fonts/chromeos/notocjk/NotoSerifCJK-Bold.ttc: Noto Serif CJK JP:style=Bold
sans-serif
の要求時にNoto Sans CJK JP
を選択するような設定をしてあげれば良さそうです。
(ついでにserif
とsystem-ui
も)
fontconfig
のユーザ設定ファイルを作ります。
% mkdir -p ~/.config/fontconfig/conf.d
% vi ~/.config/fontconfig/conf.d/50-noto.conf
<?xml version="1.0" encoding="UTF-8"?>
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif CJK JP</family>
</prefer>
</alias>
<alias>
<family>system-ui</family>
<prefer>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
</fontconfig>
fc-match
で確認します。
% fc-match sans
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
% fc-match serif
NotoSerifCJK-Regular.ttc: "Noto Serif CJK JP" "Regular"
% fc-match system-ui
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
いい感じになりました。