Browse Source

Fixed case where character can be remapped from Unicode.

Forgot to subtract fFirstChar base
tickets/19/19/1
rarified 4 years ago
parent
commit
3db5d47019
  1. 8
      Sources/Plasma/PubUtilLib/plGImage/plFont.cpp

8
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]; plCharacter& ch = fCharacters[(UInt16)L' ' - fFirstChar];
if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) { if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) {
if (wctob(string[0]) != EOF) if (wctob(string[0]) != EOF)
ch = (fCharacters[(UInt16)wctob(string[0])]); ch = (fCharacters[(UInt16)wctob(string[0]) - fFirstChar]);
} else { } else {
ch = (fCharacters[(UInt16)string[0] - fFirstChar]); 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]; plCharacter& ch = fCharacters[(UInt16)L' ' - fFirstChar];
if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) { if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) {
if (wctob(string[0]) != EOF) if (wctob(string[0]) != EOF)
ch = (fCharacters[(UInt16)wctob(string[0])]); ch = (fCharacters[(UInt16)wctob(string[0] - fFirstChar)]);
} else { } else {
ch = (fCharacters[(UInt16)string[0] - fFirstChar]); 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]); plCharacter* charToDraw = &(fCharacters[(UInt16)L' ' - fFirstchar]);
if (fCharacters.Count() <= ((UInt16)string[i] - fFirstChar)) { if (fCharacters.Count() <= ((UInt16)string[i] - fFirstChar)) {
if (wctob(string[i]) != EOF) if (wctob(string[i]) != EOF)
charToDraw = &(fCharacters[(UInt16)wctob(string[i])]); charToDraw = &(fCharacters[(UInt16)wctob(string[i]) - fFirstChar]);
} else { } else {
charToDraw = &(fCharacters[(UInt16)string[i] - fFirstChar]); 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]; plCharacter& ch = fCharacters[(UInt16)L' ' - fFirstChar];
if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) { if (fCharacters.Count() <= ((UInt16)string[0] - fFirstChar)) {
if (wctob(string[0]) != EOF) if (wctob(string[0]) != EOF)
ch = (fCharacters[(UInt16)wctob(string[0])]); ch = (fCharacters[(UInt16)wctob(string[0] - fFirstChar)]);
} else { } else {
ch = (fCharacters[(UInt16)string[0] - fFirstChar]); ch = (fCharacters[(UInt16)string[0] - fFirstChar]);
} }

Loading…
Cancel
Save