From 016a958a174e2f3e58182f7fd7dee6718fc87b98 Mon Sep 17 00:00:00 2001 From: Vadim Lopatin Date: Wed, 28 Jan 2015 13:53:02 +0300 Subject: [PATCH] warn and fail if no freetype fonts found --- src/dlangui/graphics/ftfonts.d | 5 +++++ src/dlangui/platforms/sdl/sdlapp.d | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/dlangui/graphics/ftfonts.d b/src/dlangui/graphics/ftfonts.d index db0c767b..a03cefeb 100644 --- a/src/dlangui/graphics/ftfonts.d +++ b/src/dlangui/graphics/ftfonts.d @@ -564,6 +564,11 @@ class FreeTypeFontManager : FontManager { return true; } + /// returns number of registered fonts + @property int registeredFontCount() { + return cast(int)_fontFiles.length; + } + } private int myabs(int n) { return n >= 0 ? n : -n; } diff --git a/src/dlangui/platforms/sdl/sdlapp.d b/src/dlangui/platforms/sdl/sdlapp.d index 035ba590..92c5af70 100644 --- a/src/dlangui/platforms/sdl/sdlapp.d +++ b/src/dlangui/platforms/sdl/sdlapp.d @@ -1133,6 +1133,17 @@ version (Windows) { ft.registerFont("/Library/Fonts/Georgia Italic.ttf", FontFamily.SansSerif, "Georgia", true, FontWeight.Normal); ft.registerFont("/Library/Fonts/Georgia Bold Italic.ttf", FontFamily.SansSerif, "Georgia", true, FontWeight.Bold); } + + if (!ft.registeredFontCount) { + Log.e("******************************************************************"); + Log.e("No font files found!!!"); + Log.e("Currently, only hardcoded font paths implemented."); + Log.e("Probably you can modify sdlapp.d to add some fonts for your system."); + Log.e("TODO: use fontconfig"); + Log.e("******************************************************************"); + assert(false); + } + FontManager.instance = ft; return sdlmain(args);