Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to get comfortable with emacs. I installed emacs starter kit. Now I'm trying to customize fonts. In ~/.emacs.d/init.el I did (set-frame-font "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"). It is working fine untill I do C-x 5 2. The new frame gets created with fonts, that were on the system before my customization. How do I override this behaviour to use only fonts I specify in init.el? Should I, probably, create ~/.emacs file for such settings (it's missing now)?

share|improve this question
up vote 16 down vote accepted

set-frame-font sets the font of the current frame. To set the default font for all frames, include the following line in your ~/.emacs.d/init.el, set the font parameter in default-frame-alist:

(add-to-list 'default-frame-alist
             '(font . "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"))

~/.emacs is the traditional location for Emacs's configuration file. ~/.emacs.d/init.el is an alternate name with exactly the same role. Use either (but not both).

For X displays (i.e. on unix, or on non-unix systems using an X server), you can also set the font through X resources. On many systems, ~/.Xresources is read when you log in, and you can write there:

Emacs.font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1
share|improve this answer
Wow, thanks a lot! – folone Nov 13 '10 at 21:26
Congrats on the 10K. – Dennis Williamson Nov 13 '10 at 22:58
Yay, finally a working answer for this. set-default-font ...? No, that would be too simple! – Sam Watkins Oct 2 '12 at 4:44

set-frame-font takes two optional arguments: KEEP-SIZE and FRAMES. If FRAMES is set to a non-nil value then the font is applied to future frames.

(set-frame-font "Inconsolata-13" t t)

I'm not sure how long this has been the case, but it's true as of Emacs 24.4.1.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.