我想从主要模式中更改 Emacs 中的字体。我在 Ubuntu 12.04 上使用 Emacs 24.3。

我试过 set-frame-font ,比如:

(set-frame-font "DejaVu Sans Mono-10")

但我得到错误:
Debugger entered--Lisp error: (error "Font not available" #<font-spec nil nil DejaVu\ Sans\ Mono nil nil nil nil nil 10.0 nil nil nil ((:name . "DejaVu Sans Mono-10") (user-spec . "DejaVu Sans Mono-10"))>)
  internal-set-lisp-face-attribute(default :font "DejaVu Sans Mono-10" #<frame [email protected] 0x116a4c0>)
fc-list 的输出是:
fc-list | grep 'DejaVu Sans Mono'

DejaVu Sans Mono:style=Bold Oblique
DejaVu Sans Mono:style=Oblique
DejaVu Sans Mono:style=Book
DejaVu Sans Mono:style=Bold

最佳答案

听起来您构建的 Emacs 没有 Xft 支持,如果您想使用抗锯齿、TrueType 和 OpenType 字体,这是必需的。

以下是使用 Xft 构建它的方法:

  • 安装 libxft-dev 包,其中包含所需的 Xft 头文件:
    sudo apt-get install libxft-dev
    
  • 像以前一样构建 Emacs,但这次是 include the --with-xft flag in your ./configure command

  • 现在您的 Emacs 应该能够使用 TrueType 和 OpenType 字体,包括 DejaVu Sans Mono。

    10-05 22:39