fixed wxFontMapper behaviour under wxGTK2: it now just maps all encodings to UTF-8

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37542 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-02-12 23:39:55 +00:00
parent 0ec80ebe6f
commit 8235976431
2 changed files with 30 additions and 15 deletions

View File

@@ -491,16 +491,23 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding,
const wxString& facename, const wxString& facename,
bool interactive) bool interactive)
{ {
wxCHECK_MSG( encodingAlt, false,
_T("wxFontEncoding::GetAltForEncoding(): NULL pointer") );
#ifdef __WXGTK20__
// in GTK+ 2 we can always use UTF-8 for everything so just do it,
// especially as no other font encodings are currently supported
*encodingAlt = wxFONTENCODING_UTF8;
return true;
#else // !wxGTK2
wxNativeEncodingInfo info; wxNativeEncodingInfo info;
if ( !GetAltForEncoding(encoding, &info, facename, interactive) ) if ( !GetAltForEncoding(encoding, &info, facename, interactive) )
return false; return false;
wxCHECK_MSG( encodingAlt, false,
_T("wxFontEncoding::GetAltForEncoding(): NULL pointer") );
*encodingAlt = info.encoding; *encodingAlt = info.encoding;
return true; return true;
#endif // wxGTK2/!wxGTK2
} }
bool wxFontMapper::IsEncodingAvailable(wxFontEncoding encoding, bool wxFontMapper::IsEncodingAvailable(wxFontEncoding encoding,

View File

@@ -304,7 +304,7 @@ wxString wxNativeFontInfo::ToUserString() const
// wxNativeEncodingInfo // wxNativeEncodingInfo
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
bool wxNativeEncodingInfo::FromString(const wxString& s) bool wxNativeEncodingInfo::FromString(const wxString& WXUNUSED(s))
{ {
return false; return false;
} }
@@ -314,25 +314,33 @@ wxString wxNativeEncodingInfo::ToString() const
return wxEmptyString; return wxEmptyString;
} }
bool wxTestFontEncoding(const wxNativeEncodingInfo& info) bool wxTestFontEncoding(const wxNativeEncodingInfo& WXUNUSED(info))
{ {
return true; return true;
} }
bool wxGetNativeFontEncoding(wxFontEncoding encoding, bool wxGetNativeFontEncoding(wxFontEncoding encoding,
wxNativeEncodingInfo *info) wxNativeEncodingInfo *info)
{
// we *must* return true for default encoding as otherwise wxFontMapper
// considers that we can't load any font and aborts with wxLogFatalError!
if ( encoding == wxFONTENCODING_SYSTEM )
{ {
info->facename.clear(); info->facename.clear();
info->encoding = wxFONTENCODING_SYSTEM;
}
// pretend that we support everything, it's better than to always return switch ( encoding )
// false as the old code did {
// we *must* return true for default encodings as otherwise wxFontMapper
// considers that we can't load any font and aborts with wxLogFatalError!
case wxFONTENCODING_DEFAULT:
case wxFONTENCODING_SYSTEM:
info->encoding = wxFONTENCODING_SYSTEM;
return true; return true;
case wxFONTENCODING_UTF8:
info->encoding = wxFONTENCODING_UTF8;
return true;
default:
// everything else must be converted to UTF-8
return false;
}
} }
#else // GTK+ 1.x #else // GTK+ 1.x