wxFontMapper now cooperates with wxEncodingConverter

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2000-01-02 19:51:15 +00:00
parent 47e55c2f11
commit 82545b58f4

View File

@@ -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;
}