👏
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のフォント設定
フォントをインストールした後、ブラウザの設定を変更します。
-
Chrome/Chromiumを起動
-
アドレスバーに以下を入力してフォント設定画面を開く:
chrome://settings/fonts
-
各フォント設定を「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"
それでも豆腐が表示される場合
-
ブラウザを完全に再起動
pkill chrome pkill chromium
-
システムロケールの確認
locale # LANG=ja_JP.UTF-8 などが表示されることを確認
まとめ
WSL2環境でのChrome/Chromiumの日本語表示問題は、適切なフォントをインストールし、ブラウザ設定で指定することで簡単に解決できます。Noto CJK JPフォントは、その名前の通り「豆腐をなくす」ために作られたフォントなので、この問題に最適な解決策です。
環境
- WSL2 (Ubuntu 22.04)
- Google Chrome / Chromium Browser
- fonts-noto-cjk パッケージ
Discussion