How can I set the text size to be larger all the time, starting from when I open the GUI app? I am specifically referring to the text size for the buffer and modeline.

I am moderately visually impaired. In order to read comfortably on computers, I either set the text size to be larger or use zoom. Periodically I decide I want to learn Emacs... and then I get frustrated by the tiny text and give up. I'm sure if I continued learning and experimenting, I would eventually figure out how to customize Emacs to my needs, but it's hard to do that when the text size resets to be painfully small every time I open the app.

Here's what I've tried:

In the top menu, I click Options > Set Default Font. Then I set my default font to my preferred font and text size: Hack size 12. I select Options > Save Options, and emacs adds something to my init.el:

 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:family "Hack Nerd Font Mono" :foundry "SRC" :slant normal :weight normal :height 120 :width normal)))))

Then I close the GUI app and open it again... and the text is back to being illegibly tiny Deja Vu Sans Mono size 10. I read this page and tried editing the code above, but nothing has worked so far. (Note: I have no experience with Lisp.)

I can also zoom in/zoom out using C-X C-+ and C-X C--. However, unlike other apps, Emacs doesn't remember my zoom level when I reopen the app.

Selecting Options > Use System Font does nothing.

System: Ubuntu 22.04.2 LTS. Gnome version: 42.9. Emacs version: GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, cairo version 1.16.0) of 2022-01-24, modified by Debian. I have Ubuntu's default "Large Text" accessibility setting enabled, which makes the Emacs menu bar legible for me.

1 Answer 1


What you did should solve the problem. You changed the default font size and saved that change.

When you see the smaller font in a new session, try M-x customize-face default just to see if it shows the font that you set for face default. You can also use C-u C-x = on a character, and look at what the *Help* buffer tells you the font is at that location.

Display can use different faces, hence different fonts, at different locations. E.g., perhaps some font-lock highlighting (which can set the font size), or some other display shenanigans, such as a theme, can override your setting in some places or even globally.

Test with an init file that contains only that custom-set-faces code you showed, to eliminate interference from the rest of your init file. Or bisect your init file to find the culprit.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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