如何在Emacs中设置框架字体

如何在Emacs中设置框架字体,emacs,elisp,Emacs,Elisp,我想在Emacs中从主模式更改字体。我在Ubuntu 12.04上使用Emacs 24.3 我尝试了设置框架字体,比如: (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 (

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

我尝试了设置框架字体,比如:

(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 emacs-24.3@cipr064219.klientdrift.uib.no 0x116a4c0>)

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

以下是如何使用Xft构建它:

  • 安装
    libxft-dev
    软件包,其中包含所需的Xft头文件:

    sudo apt-get install libxft-dev
    
  • 像以前一样构建Emacs,但是这次


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

    您的代码适合我(Ubuntu 13.10上的Emacs 24.3)。您是最近安装的字体,还是已经安装了一段时间了?@Chris我根本没有安装任何字体。.如果您按住shift键并单击缓冲区并选择“更改缓冲区字体…”,DejaVu Sans Mono是否会出现在可用字体列表中?@Chris否它不会出现在
    “更改文本字体”
    的弹出菜单中。有三个子菜单:
    “Fontset”
    “Courier”
    ,和
    “Misc”
    。这两个子菜单中都没有。您是从软件包还是从源代码安装Emacs的?您的Emacs是否有可能是在没有Xft支持的情况下构建的?另外,您的Emacs的完整版本号是多少?您的字体菜单的选项与我的不同(24.3.50.1)。
    sudo apt-get install libxft-dev