Emacs で言語に応じてフォント サイズを変更することは可能ですか?

Emacs で言語に応じてフォント サイズを変更することは可能ですか?

Emacs でフォント サイズを変更する方法を楽しみにしています。

次のようにして「すべての」フォント サイズを簡単に変更できます。

(set-face-attribute 'default nil :family "Consolas" :height 110)

しかし、言語によってフォントサイズを異なる方法で変更したいのです。日本語を少し小さく、タイ語を少し大きくするには、次のように記述します。

(create-fontset-from-ascii-font "Consolas" nil "my")
(set-fontset-font "fontset-my" 'japanese-jisx0208 (font-spec :family "Meiryo") nil 'append)
(set-fontset-font "fontset-my" 'thai-tis620 (font-spec :family "Cordia New") nil 'append)

(add-to-list 'default-frame-alist '(font . "fontset-my"))
(setq face-font-rescale-alist '(("Meiryo" . 0.80)))
(setq face-font-rescale-alist '(("Cordia New" . 1.20)))

しかし、有効になりません。言語ごとにフォント サイズを変更するにはどうすればよいでしょうか?

答え1

以下を変更することで日本語のフォントを変更できましたfontset-default:

(set-fontset-font "fontset-default" 'han "STSong-24")
(set-fontset-font "fontset-default" 'kana "STSong-24")

コードが機能しない理由がよくわかりません。おそらく、set-fontset-font文字セットではなくスクリプトを「ターゲット」として指定しているからだと思います。 を押すと、文字のスクリプトが表示されますC-u C-x =。スクリプトもあるようですthai

関連情報