Iosevka - an awesome font for Emacs

Before my foray into Emacs, I purchased applications like IAWriter (classic)1, Marked2, Texts (cross platform Mac/Windows), and have also tried almost all the recommended apps for longer form writing. I am a fan of zen writing apps. In particular the font and environment provided by IAWriter are conducive to focused writing. There also exist apps like Hemingway that also help check the quality of your writing.

Zen writing apps are called so because they have a unique combination of fonts, background color, including line spacing and overall text-width - all of which enable a streamlined and focused flow of words onto the screen. Any customisation required towards this end is possible in Emacs.

The Texts app has some nifty features (besides being cross platform), but the font and appearance is not as beautiful as IAWriter. Both IAWriter (classic) and Texts have minimal settings for further customisation. See the comparison below:

Emacs (writeroom-mode + Iosevka font) || Texts (Sepia theme)
Emacs (writeroom-mode, Iosevka font) || IAWriter(Classic)

While everybody’s style and approach vary, there are many authors who swear by archaic text editors and tools that enable distraction free writing. One example is Tony Ballantyne’s post on writing tools, and several more examples are available in this blog post.

The next best thing to a clear retina display on a MacBook Pro, is a beautiful font face to take you through the day, enhancing the viewing pleasure and thus the motivation to work longer.

In Emacs, writeroom-mode and Emacs can be customised to mimic IAWriter. In this regard, the font Iosevka, is a great font to try. This old Emacs reddit has many more suggestions. One post described Iosevka as “it doesn’t look like much, but after a few hours it will be difficult to use any other font." This is exactly what happened to me.

There’s still a lot of tweaking to be done with writeroom-mode, but this is certainly a workable result. My nascent configuration for writeroom-mode in emacs is as follows (munged off the internet!). It’s remarkable how much was achieved with a few lines of code!

(with-eval-after-load 'writeroom-mode
  (define-key writeroom-mode-map (kbd "C-s-,") #'writeroom-decrease-width)
  (define-key writeroom-mode-map (kbd "C-s-.") #'writeroom-increase-width)
  (define-key writeroom-mode-map (kbd "C-s-=") #'writeroom-adjust-width))

(advice-add 'text-scale-adjust :after

  1. The latest version of IAWriter has a truck load of features and advantages over over the Classic version. I did consider purchasing it, but Emacs won the day. Nevertheless, as a plain vanilla writing app - IAWriter offers much right out of the box. ↩︎