X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ec6905c69c73f908533697c770c690657f4371c..716cd4107bb8a5f37dea34507453be6870aaef3a:/src/common/intl.cpp diff --git a/src/common/intl.cpp b/src/common/intl.cpp index 3b0a992d89..01d449fd53 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 } @@ -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);