diff --git a/minui/graphics.cpp b/minui/graphics.cpp
index 202ce71..3b38601 100644
--- a/minui/graphics.cpp
+++ b/minui/graphics.cpp
@@ -51,12 +51,21 @@
 }
 
 int gr_measure(const GRFont* font, const char* s) {
+  if (font == nullptr) {
+    return -1;
+  }
+
   return font->char_width * strlen(s);
 }
 
-void gr_font_size(const GRFont* font, int* x, int* y) {
+int gr_font_size(const GRFont* font, int* x, int* y) {
+  if (font == nullptr) {
+    return -1;
+  }
+
   *x = font->char_width;
   *y = font->char_height;
+  return 0;
 }
 
 // Blends gr_current onto pix value, assumes alpha as most significant byte.
@@ -319,8 +328,8 @@
 int gr_init() {
   int ret = gr_init_font("font", &gr_font);
   if (ret != 0) {
-    printf("Failed to init font: %d\n", ret);
-    return -1;
+    printf("Failed to init font: %d, continuing graphic backend initialization without font file\n",
+           ret);
   }
 
   auto backend = std::unique_ptr<MinuiBackend>{ std::make_unique<MinuiBackendAdf>() };
diff --git a/minui/include/minui/minui.h b/minui/include/minui/minui.h
index f9da199..e96b7ae 100644
--- a/minui/include/minui/minui.h
+++ b/minui/include/minui/minui.h
@@ -66,8 +66,10 @@
 const GRFont* gr_sys_font();
 int gr_init_font(const char* name, GRFont** dest);
 void gr_text(const GRFont* font, int x, int y, const char* s, bool bold);
+// Return -1 if font is nullptr.
 int gr_measure(const GRFont* font, const char* s);
-void gr_font_size(const GRFont* font, int* x, int* y);
+// Return -1 if font is nullptr.
+int gr_font_size(const GRFont* font, int* x, int* y);
 
 void gr_blit(GRSurface* source, int sx, int sy, int w, int h, int dx, int dy);
 unsigned int gr_get_width(GRSurface* surface);
