2014-04-01 35 views
4

我想在主要模式中更改Emacs中的字體。我在Ubuntu 12.04上使用Emacs 24.3。如何在Emacs中設置框架字體

我試過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 
+0

您的代碼適用於我(Ubuntu 13.10上的Emacs 24.3)。你剛剛安裝了字體,還是在那裏呆了一段時間? – Chris

+0

@Chris我根本沒有安裝任何字體.. –

+0

如果您按住Shift並單擊緩衝區並選擇「更改緩衝區字體...」,DejaVu Sans Mono會出現在可用字體列表中嗎? – Chris

回答

3

這聽起來像你已經建立的Emacs沒有Xft支持,如果你想要,這是必需的o使用反鋸齒,TrueType和OpenType字體。

這裏是你如何與Xft的構建:

  1. 安裝libxft-dev包,其中包含所需的Xft標題:

    sudo apt-get install libxft-dev 
    
  2. 像以前那樣建立Emacs的,但這次include the --with-xft flag in your ./configure command

現在你的Emacs應該能夠使用TrueType和OpenType字體,包括DejaVu Sans Mono。