X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6648cd46dcfa615e084e0960e677e5ecd39778a5..b5a7b0005781f24ab97ed3322530423b6d89fb67:/src/common/fontmap.cpp diff --git a/src/common/fontmap.cpp b/src/common/fontmap.cpp index 56f3461d2d..1c9f225748 100644 --- a/src/common/fontmap.cpp +++ b/src/common/fontmap.cpp @@ -47,7 +47,7 @@ // ---------------------------------------------------------------------------- // the config paths we use -static const wxChar* FONTMAPPER_ROOT_PATH = wxT("FontMapper"); +static const wxChar* FONTMAPPER_ROOT_PATH = wxT("wxWindows/FontMapper"); static const wxChar* FONTMAPPER_CHARSET_PATH = wxT("Charsets"); static const wxChar* FONTMAPPER_CHARSET_ALIAS_PATH = wxT("Aliases"); static const wxChar* FONTMAPPER_FONT_FROM_ENCODING_PATH = wxT("Encodings"); @@ -223,7 +223,7 @@ wxConfigBase *wxFontMapper::GetConfig() if ( !m_config ) { // try the default - m_config = wxConfig::Get(); + m_config = wxConfig::Get(FALSE/*don't create on demand*/); } return m_config; @@ -521,7 +521,7 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding, // wxFatalError doesn't return } - wxString configEntry = GetEncodingName(encoding); + wxString configEntry = facename + _T("_") + GetEncodingName(encoding); // do we have a font spec for this encoding? wxString pathOld; @@ -585,6 +585,7 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding, wxFont font = retData.GetChosenFont(); *info = retData.EncodingInfo(); + info -> encoding = retData.GetEncoding(); // remember this in the config if ( ChangePath(FONTMAPPER_FONT_FROM_ENCODING_PATH, &pathOld) ) @@ -604,7 +605,6 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding, // 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) ) @@ -632,8 +632,12 @@ bool wxFontMapper::IsEncodingAvailable(wxFontEncoding encoding, const wxString& facename) { wxNativeEncodingInfo info; - - wxGetNativeFontEncoding(encoding, &info); - info.facename = facename; - return wxTestFontEncoding(info); + + if (wxGetNativeFontEncoding(encoding, &info)) + { + info.facename = facename; + return wxTestFontEncoding(info); + } + else + return FALSE; }