fix the invalid glyph

This commit is contained in:
Glenn Maynard
2003-01-28 03:40:28 +00:00
parent 6042c88de9
commit 98ed350504
3 changed files with 17 additions and 16 deletions
+12 -12
View File
@@ -520,24 +520,24 @@ void Font::LoadFontPageSettings(FontPageSettings &cfg, IniFile &ini, const CStri
}
}
longchar c=-1;
wchar_t c;
if(codepoint.substr(0, 2) == "U+" && IsHexVal(codepoint.substr(2)))
sscanf(codepoint.substr(2).c_str(), "%x", &c);
else
else if(!FontCharAliases::GetChar(codepoint, c))
{
c = FontCharAliases::GetChar(codepoint);
if(c == INVALID_CHAR)
{
LOG->Warn("Font definition '%s' has an invalid value '%s'.",
ini.GetPath().GetString(), val.GetString() );
continue;
}
LOG->Warn("Font definition '%s' has an invalid value '%s'.",
ini.GetPath().GetString(), val.GetString() );
continue;
}
if(game != GAME_INVALID) c = FontManager::MakeGameGlyph(wchar_t(c), game);
if(game != GAME_INVALID)
{
longchar lc = FontManager::MakeGameGlyph(c, game);
cfg.CharToGlyphNo[lc] = atoi(data);
} else {
cfg.CharToGlyphNo[c] = atoi(data);
}
cfg.CharToGlyphNo[c] = atoi(data);
continue;
}
+4 -3
View File
@@ -350,14 +350,15 @@ void FontCharAliases::ReplaceMarkers( CString &sText )
}
/* Replace all &markers; and &#NNNN;s with UTF-8. */
wchar_t FontCharAliases::GetChar( CString &codepoint )
bool FontCharAliases::GetChar( CString &codepoint, wchar_t &ch )
{
InitCharAliases();
aliasmap::const_iterator i = CharAliases.find(codepoint);
if(i == CharAliases.end())
return INVALID_CHAR;
return false;
return i->second;
ch = i->second;
return true;
}
/*
+1 -1
View File
@@ -5,7 +5,7 @@
namespace FontCharAliases {
void ReplaceMarkers( CString &sText );
wchar_t GetChar( CString &codepoint );
bool GetChar( CString &codepoint, wchar_t &ch );
};
#endif