Chrome OS FlexのLinux GUI環境でNoto Sans CJK JPフォントをデフォルトにする

前提条件: 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"

aptfonts-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を選択するような設定をしてあげれば良さそうです。 (ついでにserifsystem-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"

いい感じになりました。

最終更新 2025-06-04 19:51:00 JST