Index: Makefile
===================================================================
--- Makefile	(revision de65155b4beb7bc0fcff8e59affe3e9626d23558)
+++ Makefile	(revision 2f9f3527124a6c0262ac096067e8ec5b069a9269)
@@ -18,5 +18,8 @@
 ifeq ($(OS), Linux)
 FLAGS_LNK :=	$(FLAGS) -pthread -Wall -Wextra
-LIBS :=			$(SDL2_LIB)/libSDL2.a -ldl -lm
+LIBS :=			$(SDL2_LIB)/libSDL2.a \
+				$(SDL2_LIB)/libSDL2_ttf.a \
+				$(SDL2_LIB)/libfreetype.a \
+				-ldl -lm
 endif
 
@@ -24,4 +27,6 @@
 FLAGS_LNK :=	$(FLAGS) -Wall -Wextra
 LIBS :=			$(SDL2_LIB)/libSDL2.a \
+				$(SDL2_LIB)/libSDL2_ttf.a \
+				$(SDL2_LIB)/libfreetype.a \
 				-framework AppKit \
 				-framework AudioToolbox \
Index: emu/all.h
===================================================================
--- emu/all.h	(revision de65155b4beb7bc0fcff8e59affe3e9626d23558)
+++ emu/all.h	(revision 2f9f3527124a6c0262ac096067e8ec5b069a9269)
@@ -27,4 +27,5 @@
 
 #include <SDL2/SDL.h>
+#include <SDL2/SDL_ttf.h>
 
 #define inf(...) SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, __VA_ARGS__);
Index: emu/sdl.c
===================================================================
--- emu/sdl.c	(revision de65155b4beb7bc0fcff8e59affe3e9626d23558)
+++ emu/sdl.c	(revision 2f9f3527124a6c0262ac096067e8ec5b069a9269)
@@ -32,8 +32,13 @@
 
 	SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_VERBOSE);
+
+	if (TTF_Init() < 0) {
+		fail("TTF_Init() failed: %s", TTF_GetError());
+	}
 }
 
 void sdl_quit(void)
 {
+	TTF_Quit();
 	SDL_Quit();
 }
Index: readme.txt
===================================================================
--- readme.txt	(revision de65155b4beb7bc0fcff8e59affe3e9626d23558)
+++ readme.txt	(revision 2f9f3527124a6c0262ac096067e8ec5b069a9269)
@@ -26,22 +26,58 @@
   https://libsdl.org/
 
+The SDL2 website also hosts the SDL2_ttf project, which adds support
+for TrueType fonts to SDL2. SDL2_ttf, in turn, requires the FreeType
+library, which is available from the FreeType website:
+
+  https://www.freetype.org/
+
 Currently, the emulator supports Linux and OS X. A port to Windows
 should be pretty easy, given that it doesn't use any platform-specific
 features, just C99 and SDL2.
 
-Our Makefile expects SDL2 to reside in /opt/sdl2. This is how we
-typically install it:
+Our Makefile expects all of the above libraries to reside in
+/opt/sdl2. This is how we typically install them:
+
+  # Build and install FreeType first
+
+  tar zxvf freetype-2.7.1.tar.gz
+  cd freetype-2.7.1
+  mkdir build
+  cd build
+
+  # Skip the optional features (compressed fonts, etc.) that would
+  # create more dependencies
+
+  ../configure --prefix=/opt/sdl2 \
+    --without-zlib --without-bzip2 --without-png --without-harfbuzz
+
+  make
+  make install
+
+  # Then build and install SDL2
 
   tar zxvf SDL2-2.0.5.tar.gz
   cd SDL2-2.0.5
-
   mkdir build
   cd build
 
   ../configure --prefix=/opt/sdl2
+
   make
   make install
 
-Now that we have SDL2 in place, invoke
+  # Build and install SDL2_ttf last
+
+  tar zxvf SDL2_ttf-2.0.14.tar.gz
+  cd SDL2_ttf-2.0.14
+  mkdir build
+  cd build
+
+  ../configure --prefix=/opt/sdl2
+
+  make
+  make install
+
+Now that we have everything in place, invoke
 
   make buchla
