elisp 怎么指定某个字符串的显示字体

Polybar 里用 %{Tx} 的语法可以指定用 font-(x-1) 这个字体来显示字符串

font-0 = "Tamsyn:pixelsize=12;0"
font-1 = "Roboto:size=11:weight=bold;2"
font-2 = "Noto Sans:size=11;1"

label-inactive = %{T3}Inactive%{T-} %time%

elisp 怎么实现类似的功能呢?

(insert (propertize "Show in Different Font" 'face `(:family "Noto Sans CJK SC")))

开空白 buffer (text-mode) 才有用, 因为编程 mode 里面 fontlock 会刷掉我们手动添加的 face

谢谢,我有用 (set-face-attribute 'default nil :font "Sarasa Mono Slab SC") 设置全局字体,现在我在 propertize 后的字体看起来和全局的不同了,但是在其上无论是 describe-face 还是 describe-font 显示的都是全局的字体,这个现象正常么?可以让结果为 propertize 设置的字体么?

我这里 describe-char 正常啊 :thinking:

奇怪 describe-char 是正常的,但是 describe-face 看的 font-family 还是原来