forked from mirror/OpenTTD
(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.
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user