👏

WSL2のChrome/Chromiumで日本語が豆腐(□□□)になる問題を解決する

に公開

問題の概要

WSL2環境でGoogle ChromeやChromiumブラウザを起動すると、日本語が正しく表示されず、豆腐(□□□)になってしまう現象があります。これは、WSL環境に日本語フォントがインストールされていないことが原因です。

解決方法

1. 日本語フォントのインストール

まず、必要な日本語フォントパッケージをインストールします。

# 日本語フォントパッケージをインストール
sudo apt update
sudo apt install fonts-noto-cjk fonts-noto-cjk-extra

# 追加の日本語フォント(お好みで)
sudo apt install fonts-ipafont fonts-ipaexfont fonts-takao

2. Chrome/Chromiumのフォント設定

フォントをインストールした後、ブラウザの設定を変更します。

  1. Chrome/Chromiumを起動

  2. アドレスバーに以下を入力してフォント設定画面を開く:

    chrome://settings/fonts
    
  3. 各フォント設定を「Noto Sans CJK JP」に変更:

    • 標準フォント: Noto Sans CJK JP
    • Serifフォント: Noto Serif CJK JP
    • Sans-serifフォント: Noto Sans CJK JP
    • 固定幅フォント: Noto Sans Mono CJK JP(またはお好みの等幅フォント)

3. 設定完了

設定を変更したら、ページをリロードすると日本語が正しく表示されるようになります。

なぜNoto CJK JPフォントなのか

Noto(No Tofu)フォントは、Googleが開発したフォントファミリーで、その名前の由来は「No more tofu(もう豆腐は見たくない)」から来ています。まさに今回の問題を解決するために作られたフォントです。

  • CJK: Chinese, Japanese, Korean(中日韓)の略
  • 包括的: すべての日本語文字(ひらがな、カタカナ、漢字)をカバー
  • 無料: オープンソースで自由に使用可能
  • 品質: Googleが開発しているため、表示品質が高い

トラブルシューティング

フォントが選択肢に表示されない場合

# フォントキャッシュを更新
fc-cache -fv

# インストールされているフォントを確認
fc-list | grep -i "Noto.*CJK.*JP"

それでも豆腐が表示される場合

  1. ブラウザを完全に再起動

    pkill chrome
    pkill chromium
    
  2. システムロケールの確認

    locale
    # LANG=ja_JP.UTF-8 などが表示されることを確認
    

まとめ

WSL2環境でのChrome/Chromiumの日本語表示問題は、適切なフォントをインストールし、ブラウザ設定で指定することで簡単に解決できます。Noto CJK JPフォントは、その名前の通り「豆腐をなくす」ために作られたフォントなので、この問題に最適な解決策です。

環境

  • WSL2 (Ubuntu 22.04)
  • Google Chrome / Chromium Browser
  • fonts-noto-cjk パッケージ

Discussion