【解決済み】Emacs 30で日本語のデフォルトフォントが変わる

【2024/09/22追記】 本事象はemacs-30ブランチで解決済みです。 https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-09/msg01021.html


Emacs 30.0.91 のプレテスト版をビルドしてみたところ、日本語周りに挙動の変化があったので調査をしている。

この記事ではフォントの調査結果を載せているが、IME(macOS の日本語入力)の確定がワンテンポ遅れる挙動もあるような気もしている。 (ただし確定がワンテンポ遅れる挙動は spacemacs の設定を読み込むと再現しない。適切なフォント設定ができていると、顕在化しないのかもしれない)

環境

  • 対象バージョン: Emacs 30.0.91(NS版)
  • 起動方法: emacs -Q
  • M-x version:
    • GNU Emacs 30.0.91 (build 1, x86_64-apple-darwin23.1.0, NS appkit-2487.20 Version 14.1 (Build 23B74)) of 2024-09-14

事象

  • ひらがな・カタカナはヒラギノ
  • 漢字は Arial Unicode MS

で表示される。

二分探索でコミットを探って行ったところ、Android portの導入コミットで挙動が変わった模様。 ただしAndroid portの差分が大きいので、具体的な差分までは調査できていない。

Introduce an Android window system port for GNU Emacs · emacs-mirror/emacs@c71a520 · GitHub

フォントの確認方法

  • 文字の上で M-x describe-char
  • (face-font 'default nil ?開)(face-font 'default nil ?あ) を評価

改善方法

フォント設定を追加する。

(set-fontset-font nil 'japanese-jisx0208
                  (font-spec :family "Hiragino Sans"))

一応init.elにフォント設定を追加すれば直るけど、Emacsのデフォルトで適切なフォントを設定して欲しい気もする。

作業ログ

二分探索のコミットログ調査のメモなど

Emacs 30.0.31で日本語の変換候補の表示が遅延する - kuranari