From: Václav Slavík Date: Sun, 2 Jan 2000 19:51:15 +0000 (+0000) Subject: wxFontMapper now cooperates with wxEncodingConverter X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/82545b58f4de558abbe45379b3175a94dc6fc410 wxFontMapper now cooperates with wxEncodingConverter git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/fontmap.cpp b/src/common/fontmap.cpp index 98495ceba9..05b1edd2ab 100644 --- a/src/common/fontmap.cpp +++ b/src/common/fontmap.cpp @@ -40,6 +40,7 @@ #include "wx/msgdlg.h" #include "wx/fontdlg.h" #include "wx/choicdlg.h" +#include "wx/encconv.h" // ---------------------------------------------------------------------------- // constants @@ -598,71 +599,13 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding, } //else: we're in non-interactive mode - // now try the default mappings - switch ( encoding ) - { - case wxFONTENCODING_ISO8859_15: - // iso8859-15 is slightly modified iso8859-1 - if ( TestAltEncoding(configEntry, wxFONTENCODING_ISO8859_1, info) ) - return TRUE; - // fall through - - case wxFONTENCODING_ISO8859_1: - // iso8859-1 is identical to CP1252 - if ( TestAltEncoding(configEntry, wxFONTENCODING_CP1252, info) ) - return TRUE; - - break; - - case wxFONTENCODING_CP1252: - if ( TestAltEncoding(configEntry, wxFONTENCODING_ISO8859_1, info) ) - return TRUE; - - break; - - // iso8859-13 is quite similar to WinBaltic - case wxFONTENCODING_ISO8859_13: - if ( TestAltEncoding(configEntry, wxFONTENCODING_CP1257, info) ) - return TRUE; - - break; - - case wxFONTENCODING_CP1257: - if ( TestAltEncoding(configEntry, wxFONTENCODING_ISO8859_13, info) ) - return TRUE; - - break; - // iso8859-8 is almost identical to WinHebrew - case wxFONTENCODING_ISO8859_8: - if ( TestAltEncoding(configEntry, wxFONTENCODING_CP1255, info) ) - return TRUE; - - break; - - case wxFONTENCODING_CP1255: - if ( TestAltEncoding(configEntry, wxFONTENCODING_ISO8859_8, info) ) - return TRUE; - - break; - - // and iso8859-7 is not too different from WinGreek - case wxFONTENCODING_ISO8859_7: - if ( TestAltEncoding(configEntry, wxFONTENCODING_CP1253, info) ) - return TRUE; - - break; - - case wxFONTENCODING_CP1253: - if ( TestAltEncoding(configEntry, wxFONTENCODING_ISO8859_7, info) ) - return TRUE; - - break; - - default: - // TODO add other mappings... - ; - } + // now try the default mappings: + + wxFontEncodingArray equiv = wxEncodingConverter::GetAllEquivalents(encoding); + for ( unsigned i = (equiv[0] == encoding) ? 1 : 0; i < equiv.GetCount(); i++ ) + if ( TestAltEncoding(configEntry, equiv[i], info) ) + return TRUE; return FALSE; }