summaryrefslogtreecommitdiff
path: root/src/fontcache.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-11-24 18:53:17 +0000
committerrubidium <rubidium@openttd.org>2008-11-24 18:53:17 +0000
commitfea78fbfbb2bfe5c6ddf90adb811eb60f4ecfc50 (patch)
treeead76c1aeb888d0a95a040f598f2614ff0ad201e /src/fontcache.h
parent6878b181c7371ecc4af39eef6b01b710cc9f088b (diff)
downloadopenttd-fea78fbfbb2bfe5c6ddf90adb811eb60f4ecfc50.tar.xz
(svn r14618) -Feature: when the chosen language isn't supported by the current font, try to find a font that does and use that instead. Thanks to glx/michi_cc for the Windows implementation.
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)