make it possible to access fonts without a display.
diff --git a/src/libdraw/getsubfont.c b/src/libdraw/getsubfont.c
index b7a8e44..2cbec81 100644
--- a/src/libdraw/getsubfont.c
+++ b/src/libdraw/getsubfont.c
@@ -24,10 +24,10 @@
 	 * _getsubfont is called only from string.c and stringwidth.c,
 	 * which are known to be safe to have this done.
 	 */
-	if(d->locking == 0)
+	if(d && d->locking == 0)
 		unlockdisplay(d);
-	f = readsubfont(d, name, fd, d->locking==0);
-	if(d->locking == 0)
+	f = readsubfont(d, name, fd, d && d->locking==0);
+	if(d && d->locking == 0)
 		lockdisplay(d);
 	if(f == 0)
 		fprint(2, "getsubfont: can't read %s: %r\n", name);