Apakah mungkin untuk mengubah ukuran font secara berbeda sesuai dengan bahasa di Emacs?

1

Saya menantikan cara untuk mengubah ukuran font di Emacs.

Saya dapat dengan mudah mengubah ukuran font "semua" seperti ini:

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

Tetapi saya ingin mengubah ukuran font secara berbeda dalam bahasa yang berbeda. Untuk membuat bahasa Jepang sedikit lebih kecil dan Thailand sedikit lebih besar, saya menulis seperti ini:

(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)))

Tapi itu tidak berpengaruh. Bagaimana saya bisa mengubah ukuran font secara berbeda dalam bahasa yang berbeda?

pasir besi
sumber

Jawaban:

2

Saya dapat mengubah font untuk bahasa Jepang dengan mengubah fontset-default:

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

Saya tidak yakin mengapa kode Anda tidak berfungsi; Saya menduga itu mungkin karena saya menetapkan skrip sebagai "target" untuk set-fontset-fontbukan rangkaian karakter. Anda dapat melihat skrip untuk karakter dengan menekan C-u C-x =. Sepertinya ada thaiskrip juga.

legoscia
sumber
Terima kasih! Saya bisa melakukannya dengan(set-fontset-font "fontset-default" 'thai (font-spec :family "Cordia New" :size 20))
ironsand