如何在Emacs中设置框架字体

4

我希望能够在 major mode 中改变 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 emacs-24.3@cipr064219.klientdrift.uib.no 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

@Chris 我根本没有安装任何字体。 - Håkon Hægland
@Chris,它不会出现在“更改文本字体”的弹出菜单中。有三个子菜单:“Fontset”,“Courier”和“Misc”。它不会出现在这些子菜单中的任何一个中。 - Håkon Hægland
@Chris 是的,我从源代码构建了Emacs。完整版本为:GNU Emacs 24.3.1。我该怎么添加Xft支持? - Håkon Hægland
根据EmacsWiki(http://www.emacswiki.org/emacs/XftGnuEmacs#toc9)的说法,在执行“./configure”命令时应包含“--with-xft”选项。如果这个方法有效,我会将其添加为答案。 - Chris
@Chris 抱歉,似乎没有起作用。我现在重新安装了Emacs,使用 ./configure --prefix=/scratch/emacs-24.3 --with-xft.. 但是,关于 set-frame-font 我仍然收到相同的错误消息。 - Håkon Hægland
显示剩余9条评论
1个回答

4

听起来你构建的 Emacs 没有 Xft 支持,如果你想使用抗锯齿、TrueType 和 OpenType 字体,则必须启用该支持。

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

  1. Install the libxft-dev package, which contains the required Xft headers:

    sudo apt-get install libxft-dev
    
  2. Build Emacs as before, but this time include the --with-xft flag in your ./configure command.

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接