#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"
{
// 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;
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:
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);
for (size_t i = 0; i < m_numStrings; i++)
converter.Convert((char*)StringAtOfs(m_pTransTable, i));
-#endif // wxUSE_GUI
}
setlocale(LC_CTYPE, "");
char *alang = nl_langinfo(CODESET);
setlocale(LC_CTYPE, oldLocale);
+ free(oldLocale);
if (alang)
{
encname = wxConvLibc.cMB2WX(alang);