X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ec6905c69c73f908533697c770c690657f4371c..b0c89ddf397e8b240839b09d27ea8d683ba9c880:/src/common/intl.cpp diff --git a/src/common/intl.cpp b/src/common/intl.cpp index 3b0a992d89..4fb77495a0 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -51,6 +51,8 @@ #include "wx/file.h" #include "wx/tokenzr.h" #include "wx/module.h" +#include "wx/fontmap.h" +#include "wx/encconv.h" #ifdef __WIN32__ #include "wx/msw/private.h" @@ -92,9 +94,7 @@ typedef unsigned char size_t8; { // Asserting a sizeof directly causes some compilers to // issue a "using constant in a conditional expression" warning - size_t intsize = sizeof(int); - - wxASSERT_MSG( intsize == 4, + wxASSERT_MSG( wxAssertIsEqual(sizeof(int), 4), "size_t32 is incorrectly defined!" ); } } intsizechecker; @@ -506,15 +506,8 @@ const char *wxMsgCatalog::GetString(const char *szOrig) const return NULL; } - -#if wxUSE_GUI -#include "wx/fontmap.h" -#include "wx/encconv.h" -#endif - void wxMsgCatalog::ConvertEncoding() { -#if wxUSE_GUI wxFontEncoding enc; // first, find encoding header: @@ -537,19 +530,7 @@ void wxMsgCatalog::ConvertEncoding() if ( enc == wxFONTENCODING_SYSTEM ) return; // unknown encoding - wxFontEncoding targetEnc = wxFONTENCODING_SYSTEM; -#ifdef __UNIX__ - wxString langFull; - if (wxGetEnv(wxT("LC_ALL"), &langFull) || - wxGetEnv(wxT("LC_CTYPE"), &langFull) || - wxGetEnv(wxT("LANG"), &langFull)) - { - wxString lcharset = langFull.AfterFirst(wxT('.')).BeforeFirst(wxT('@')); - if (!lcharset.IsEmpty()) - targetEnc = wxTheFontMapper->CharsetToEncoding(lcharset, FALSE); - } -#endif - + wxFontEncoding targetEnc = wxLocale::GetSystemEncoding(); if (targetEnc == wxFONTENCODING_SYSTEM) { wxFontEncodingArray a = wxEncodingConverter::GetPlatformEquivalents(enc); @@ -565,7 +546,6 @@ void wxMsgCatalog::ConvertEncoding() for (size_t i = 0; i < m_numStrings; i++) converter.Convert((char*)StringAtOfs(m_pTransTable, i)); -#endif // wxUSE_GUI } @@ -952,7 +932,7 @@ wxString wxLocale::GetSystemEncodingName() #ifdef __WIN32__ // FIXME: what is the error return value for GetACP()? UINT codepage = ::GetACP(); - encname.Printf(_T("cp%u"), codepage); + encname.Printf(_T("windows-%u"), codepage); #elif defined(__UNIX_LIKE__) #if defined(HAVE_LANGINFO_H) && defined(CODESET) @@ -962,6 +942,7 @@ wxString wxLocale::GetSystemEncodingName() setlocale(LC_CTYPE, ""); char *alang = nl_langinfo(CODESET); setlocale(LC_CTYPE, oldLocale); + free(oldLocale); if (alang) { encname = wxConvLibc.cMB2WX(alang);