|
@@ -1998,11 +1998,9 @@ const char *GetCurrentLanguageIsoCode()
|
|
|
|
|
|
/**
|
|
|
* Check whether there are glyphs missing in the current language.
|
|
|
* @param[out] str Pointer to an address for storing the text pointer.
|
|
|
* @return If glyphs are missing, return \c true, else return \c false.
|
|
|
* @post If \c true is returned and str is not nullptr, *str points to a string that is found to contain at least one missing glyph.
|
|
|
*/
|
|
|
bool MissingGlyphSearcher::FindMissingGlyphs(const char **str)
|
|
|
bool MissingGlyphSearcher::FindMissingGlyphs()
|
|
|
{
|
|
|
InitFreeType(this->Monospace());
|
|
|
const Sprite *question_mark[FS_END];
|
|
@@ -2014,7 +2012,6 @@ bool MissingGlyphSearcher::FindMissingGl
|
|
|
this->Reset();
|
|
|
for (const char *text = this->NextString(); text != nullptr; text = this->NextString()) {
|
|
|
FontSize size = this->DefaultSize();
|
|
|
if (str != nullptr) *str = text;
|
|
|
for (WChar c = Utf8Consume(&text); c != '\0'; c = Utf8Consume(&text)) {
|
|
|
if (c >= SCC_FIRST_FONT && c <= SCC_LAST_FONT) {
|
|
|
size = (FontSize)(c - SCC_FIRST_FONT);
|
|
@@ -2095,7 +2092,7 @@ void CheckForMissingGlyphs(bool base_fon
|
|
|
{
|
|
|
static LanguagePackGlyphSearcher pack_searcher;
|
|
|
if (searcher == nullptr) searcher = &pack_searcher;
|
|
|
bool bad_font = !base_font || searcher->FindMissingGlyphs(nullptr);
|
|
|
bool bad_font = !base_font || searcher->FindMissingGlyphs();
|
|
|
#if defined(WITH_FREETYPE) || defined(_WIN32)
|
|
|
if (bad_font) {
|
|
|
/* We found an unprintable character... lets try whether we can find
|