fonts.conf字体设置问题

我在fonts.conf中设置了字体配置

  <match target="pattern">
    <test name="family"><string>monospace</string></test>
    <edit name="family" mode="prepend" binding="strong">
      <string>JetBrains Mono</string>
      <string>LXGW WenKai Mono</string>
      <string>Sarasa Mono SC</string>
      <string>Symbols Nerd Font</string>
    </edit>
  </match>

主要目的是英文及其他使用 jetbrains 字体,中文字体使用霞鹜文楷。 在 foot 终端中,将字体设置为 monospace 符合预期,但是在 Emacs 中设置

(set-face-attribute 'default nil :font "monospace 12")

未能达到预期效果,主要是英文为 JetBrains 中文不是霞鹜文楷。

fonts.conf设置推荐可以看下,ubuntu中language-selector-common包中的fonts.conf文件。

中文要單獨設置,試試:

(set-face-attribute 'default nil :height 220 :font "Iosevka")
(dolist (fontset '(han kana hangul cjk-misc))
  (set-fontset-font "fontset-default" fontset
                    (font-spec :family "I.Ming")))

先用 set-face-attribute 設置默認字體,再用 set-fontset-font 設置其他字符集的字體(例如中文、日文),fontset-default 是默認的字符集。具體定義可以在 Emacs 里查看它們的文檔。

1 个赞