Emacs: Command to Toggle Monospace/Proportional Font

By Xah Lee. Date: . Last updated: .
Alt+x variable-pitch-mode
Toggle between fixed-width and variable-width font. (monospace vs proportional), for current buffer.
emacs variable-pitch-mode 2021-09-25 SyP3
emacs variable-pitch-mode 2021-09-25
emacs variable-pitch-mode 2021-09-25 mrwX
emacs variable-pitch-mode 2021-09-25, showing JavaScript code

Proportional font is useful for reading info doc, email, etc. Proportional font is easier to read, and shows 20 or more characters per line. It also works great for coding too (except Python). Try it. You may be surprised.

(Thanks to Oscar Carlsson for suggesting variable-pitch-mode.)

Setup Proportional Font by Major Mode

Here's how to make some mode always use proportional font.

Put this in your Emacs Init File:

  ;; use variable-width font for some modes
  (defun xah-use-variable-width-font ()
    "Set current buffer to use variable-width font."
    (variable-pitch-mode 1)
    ;; (text-scale-increase 1 )
  (add-hook 'nxml-mode-hook 'xah-use-variable-width-font)
  (add-hook 'emacs-lisp-mode-hook 'xah-use-variable-width-font)
  (add-hook 'js-mode-hook 'xah-use-variable-width-font)
  (add-hook 'css-mode-hook 'xah-use-variable-width-font)
  (add-hook 'html-mode-hook 'xah-use-variable-width-font)
  (add-hook 'mhtml-mode-hook 'xah-use-variable-width-font))

Emacs Font Setup

Setup Font in Init File