Emacs Init: Setup Font
This page shows you how to set font for emacs in init file.
Change Font/Size Globally by Menu
Chose the menu:
- menu [Options ▸ Set Default Font…]
- menu [Options ▸ Save Options].
This changes the default font for all your current session's emacs windows/buffers, and also save it to the
Emacs Init File
in the custom-set-variables
section.
[see Emacs: M-x customize Tutorial]
Set Default Font and Size in Init File
put this in your Emacs Init File:
;; set default font (cond ((eq system-type 'windows-nt) (when (member "Consolas" (font-family-list)) (set-frame-font "Consolas" t t))) ((eq system-type 'darwin) ; macOS (when (member "Menlo" (font-family-list)) (set-frame-font "Menlo" t t))) ((eq system-type 'gnu/linux) (when (member "DejaVu Sans Mono" (font-family-list)) (set-frame-font "DejaVu Sans Mono" t t))))
You can add a font size:
(when (member "Consolas" (font-family-list)) (set-frame-font "Consolas-14" t t))
See also: Emacs Lisp: Determine OS, Emacs Version, Machine Host Name
List available fonts
(print (font-family-list))
[see Evaluate Emacs Lisp Code]
Check if a font exist
;; returns true if Symbola exists (member "Symbola" (font-family-list))
How to install font
- Microsoft Windows: double click on the font.
- MacOS: double click on the font.
- Linux: How to Install Font, List Fonts
Restart emacs. Emacs should see it.
Reference
Emacs Font Setup
- Emacs: Change Font Size
- Emacs: Change Default Font Size by Command, for Current Session 🚀
- Emacs: describe-char, Char Name, Cursor Position
- Emacs: Toggle Monospace/Proportional Font
- Best Unicode Fonts for Programer
- Emacs: Cycle Fonts by Command 🚀
- Emacs Init: Setup Font
- Emacs Init: Font for Unicode Symbols
- Emacs Init: Font for Emoji
- Emacs Init: Font for Chinese
- Emacs Init: Variable Pitch Mode (Proportional Font)
- Emacs Init: Modify Default Face (Font)
- Emacs Init: Display Lambda as λ