Можно ли в 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

Связанный контент