fixed iso8859-15 handling (backmerged from 2.2)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2001-05-08 00:03:46 +00:00
parent 13806c7d4a
commit daaa6710be

View File

@@ -467,11 +467,14 @@ wxFontEncoding wxFontMapper::CharsetToEncoding(const wxString& charset,
unsigned int value; unsigned int value;
if ( wxSscanf(p, wxT("8859-%u"), &value) == 1 ) if ( wxSscanf(p, wxT("8859-%u"), &value) == 1 )
{ {
if ( value < wxFONTENCODING_ISO8859_MAX - // make it 0 based and check that it is strictly positive in
wxFONTENCODING_ISO8859_1 ) // the process (no such thing as iso8859-0 encoding)
if ( (value-- > 0) &&
(value < wxFONTENCODING_ISO8859_MAX -
wxFONTENCODING_ISO8859_1) )
{ {
// it's a valid ISO8859 encoding // it's a valid ISO8859 encoding
value += wxFONTENCODING_ISO8859_1 - 1; value += wxFONTENCODING_ISO8859_1;
encoding = (wxFontEncoding)value; encoding = (wxFontEncoding)value;
} }
} }