summaryrefslogtreecommitdiff
path: root/src/fontcache.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fontcache.h')
-rw-r--r--src/fontcache.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/fontcache.h b/src/fontcache.h
index bf32c2927..e72fc8225 100644
--- a/src/fontcache.h
+++ b/src/fontcache.h
@@ -19,9 +19,9 @@ void InitializeUnicodeGlyphMap();
#ifdef WITH_FREETYPE
struct FreeTypeSettings {
- char small_font[260];
- char medium_font[260];
- char large_font[260];
+ char small_font[MAX_PATH];
+ char medium_font[MAX_PATH];
+ char large_font[MAX_PATH];
uint small_size;
uint medium_size;
uint large_size;
@@ -33,13 +33,26 @@ struct FreeTypeSettings {
extern FreeTypeSettings _freetype;
void InitFreeType();
+void UninitFreeType();
const struct Sprite *GetGlyph(FontSize size, uint32 key);
uint GetGlyphWidth(FontSize size, uint32 key);
+/**
+ * We would like to have a fallback font as the current one
+ * doesn't contain all characters we need.
+ * This function must set all fonts of settings.
+ * @param settings the settings to overwrite the fontname of.
+ * @param language_isocode the language, e.g. en_GB.
+ * @param winlangid the language ID windows style.
+ * @return true if a font has been set, false otherwise.
+ */
+bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, int winlangid);
+
#else
/* Stub for initializiation */
static inline void InitFreeType() {}
+static inline void UninitFreeType() {}
/** Get the Sprite for a glyph */
static inline const Sprite *GetGlyph(FontSize size, uint32 key)