diff --git a/Sources/Plasma/PubUtilLib/plGImage/plFont.cpp b/Sources/Plasma/PubUtilLib/plGImage/plFont.cpp index c9a282fb..30f86d2b 100644 --- a/Sources/Plasma/PubUtilLib/plGImage/plFont.cpp +++ b/Sources/Plasma/PubUtilLib/plGImage/plFont.cpp @@ -291,7 +291,7 @@ void plFont::IRenderString( plMipmap *mip, UInt16 x, UInt16 y, const wchar_t *st plCharacter& ch = fCharacters[(UInt16)L' ' - fFirstChar]; if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) { if (wctob(string[0]) != EOF) - ch = (fCharacters[(UInt16)wctob(string[0])]); + ch = (fCharacters[(UInt16)wctob(string[0]) - fFirstChar]); } else { ch = (fCharacters[(UInt16)string[0] - fFirstChar]); } @@ -397,7 +397,7 @@ void plFont::IRenderString( plMipmap *mip, UInt16 x, UInt16 y, const wchar_t *st plCharacter& ch = fCharacters[(UInt16)L' ' - fFirstChar]; if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) { if (wctob(string[0]) != EOF) - ch = (fCharacters[(UInt16)wctob(string[0])]); + ch = (fCharacters[(UInt16)wctob(string[0] - fFirstChar)]); } else { ch = (fCharacters[(UInt16)string[0] - fFirstChar]); } @@ -467,7 +467,7 @@ void plFont::IRenderString( plMipmap *mip, UInt16 x, UInt16 y, const wchar_t *st plCharacter* charToDraw = &(fCharacters[(UInt16)L' ' - fFirstchar]); if (fCharacters.Count() <= ((UInt16)string[i] - fFirstChar)) { if (wctob(string[i]) != EOF) - charToDraw = &(fCharacters[(UInt16)wctob(string[i])]); + charToDraw = &(fCharacters[(UInt16)wctob(string[i]) - fFirstChar]); } else { charToDraw = &(fCharacters[(UInt16)string[i] - fFirstChar]); } @@ -603,7 +603,7 @@ void plFont::IRenderString( plMipmap *mip, UInt16 x, UInt16 y, const wchar_t *st plCharacter& ch = fCharacters[(UInt16)L' ' - fFirstChar]; if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) { if (wctob(string[0]) != EOF) - ch = (fCharacters[(UInt16)wctob(string[0])]); + ch = (fCharacters[(UInt16)wctob(string[0] - fFirstChar)]); } else { ch = (fCharacters[(UInt16)string[0] - fFirstChar]); }