mirror of https://github.com/OpenTTD/OpenTTD
(svn r23267) -Codechange: unify the font name setting of the font cache
parent
02bff061f8
commit
4e1c4f9079
|
@ -347,9 +347,7 @@ static int CALLBACK EnumFontCallback(const ENUMLOGFONTEX *logfont, const NEWTEXT
|
||||||
|
|
||||||
if (!found) return 1;
|
if (!found) return 1;
|
||||||
|
|
||||||
strecpy(info->settings->small_font, font_name, lastof(info->settings->small_font));
|
callback->SetFontNames(info->settings, font_name);
|
||||||
strecpy(info->settings->medium_font, font_name, lastof(info->settings->medium_font));
|
|
||||||
strecpy(info->settings->large_font, font_name, lastof(info->settings->large_font));
|
|
||||||
if (info->callback->FindMissingGlyphs(NULL)) return 1;
|
if (info->callback->FindMissingGlyphs(NULL)) return 1;
|
||||||
DEBUG(freetype, 1, "Fallback font: %s (%s)", font_name, english_name);
|
DEBUG(freetype, 1, "Fallback font: %s (%s)", font_name, english_name);
|
||||||
return 0; // stop enumerating
|
return 0; // stop enumerating
|
||||||
|
@ -487,9 +485,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i
|
||||||
strncmp(name, "GB18030 Bitmap", 14) == 0) continue;
|
strncmp(name, "GB18030 Bitmap", 14) == 0) continue;
|
||||||
|
|
||||||
/* Save result. */
|
/* Save result. */
|
||||||
strecpy(settings->small_font, name, lastof(settings->small_font));
|
callback->SetFontNames(settings, name);
|
||||||
strecpy(settings->medium_font, name, lastof(settings->medium_font));
|
|
||||||
strecpy(settings->large_font, name, lastof(settings->large_font));
|
|
||||||
DEBUG(freetype, 2, "CT-Font for %s: %s", language_isocode, name);
|
DEBUG(freetype, 2, "CT-Font for %s: %s", language_isocode, name);
|
||||||
result = true;
|
result = true;
|
||||||
break;
|
break;
|
||||||
|
@ -574,9 +570,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i
|
||||||
name[act_len > 127 ? 127 : act_len] = '\0';
|
name[act_len > 127 ? 127 : act_len] = '\0';
|
||||||
|
|
||||||
/* Save Result. */
|
/* Save Result. */
|
||||||
strecpy(settings->small_font, name, lastof(settings->small_font));
|
callback->SetFontNames(settings, name);
|
||||||
strecpy(settings->medium_font, name, lastof(settings->medium_font));
|
|
||||||
strecpy(settings->large_font, name, lastof(settings->large_font));
|
|
||||||
DEBUG(freetype, 2, "ATSUI-Font for %s: %s", language_isocode, name);
|
DEBUG(freetype, 2, "ATSUI-Font for %s: %s", language_isocode, name);
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
|
@ -598,9 +592,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i
|
||||||
/* Init FreeType if needed. */
|
/* Init FreeType if needed. */
|
||||||
if ((ft_init || FT_Init_FreeType(&_library) == FT_Err_Ok) && GetFontByFaceName("Arial Unicode MS", &face) == FT_Err_Ok) {
|
if ((ft_init || FT_Init_FreeType(&_library) == FT_Err_Ok) && GetFontByFaceName("Arial Unicode MS", &face) == FT_Err_Ok) {
|
||||||
FT_Done_Face(face);
|
FT_Done_Face(face);
|
||||||
strecpy(settings->small_font, "Arial Unicode MS", lastof(settings->small_font));
|
callback->SetFontNames(settings, "Arial Unicode MS");
|
||||||
strecpy(settings->medium_font, "Arial Unicode MS", lastof(settings->medium_font));
|
|
||||||
strecpy(settings->large_font, "Arial Unicode MS", lastof(settings->large_font));
|
|
||||||
DEBUG(freetype, 1, "Replacing font 'Geeza Pro' with 'Arial Unicode MS'");
|
DEBUG(freetype, 1, "Replacing font 'Geeza Pro' with 'Arial Unicode MS'");
|
||||||
}
|
}
|
||||||
if (!ft_init) {
|
if (!ft_init) {
|
||||||
|
@ -719,9 +711,7 @@ bool SetFallbackFont(FreeTypeSettings *settings, const char *language_isocode, i
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
strecpy(settings->small_font, (const char*)file, lastof(settings->small_font));
|
callback->SetFontNames(settings, (const char*)file);
|
||||||
strecpy(settings->medium_font, (const char*)file, lastof(settings->medium_font));
|
|
||||||
strecpy(settings->large_font, (const char*)file, lastof(settings->large_font));
|
|
||||||
|
|
||||||
bool missing = callback->FindMissingGlyphs(NULL);
|
bool missing = callback->FindMissingGlyphs(NULL);
|
||||||
DEBUG(freetype, 1, "Font \"%s\" misses%s glyphs", file, missing ? "" : " no");
|
DEBUG(freetype, 1, "Font \"%s\" misses%s glyphs", file, missing ? "" : " no");
|
||||||
|
|
|
@ -1798,12 +1798,12 @@ class LanguagePackGlyphSearcher : public MissingGlyphSearcher {
|
||||||
this->j = 0;
|
this->j = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
FontSize DefaultSize()
|
/* virtual */ FontSize DefaultSize()
|
||||||
{
|
{
|
||||||
return FS_NORMAL;
|
return FS_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *NextString()
|
/* virtual */ const char *NextString()
|
||||||
{
|
{
|
||||||
if (this->i >= 32) return NULL;
|
if (this->i >= 32) return NULL;
|
||||||
|
|
||||||
|
@ -1817,6 +1817,13 @@ class LanguagePackGlyphSearcher : public MissingGlyphSearcher {
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* virtual */ void SetFontNames(FreeTypeSettings *settings, const char *font_name)
|
||||||
|
{
|
||||||
|
strecpy(settings->small_font, font_name, lastof(settings->small_font));
|
||||||
|
strecpy(settings->medium_font, font_name, lastof(settings->medium_font));
|
||||||
|
strecpy(settings->large_font, font_name, lastof(settings->large_font));
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -222,6 +222,13 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual void Reset() = 0;
|
virtual void Reset() = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the right font names.
|
||||||
|
* @param settings The settings to modify.
|
||||||
|
* @param font_name The new font name.
|
||||||
|
*/
|
||||||
|
virtual void SetFontNames(struct FreeTypeSettings *settings, const char *font_name) = 0;
|
||||||
|
|
||||||
bool FindMissingGlyphs(const char **str);
|
bool FindMissingGlyphs(const char **str);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue