fix shift-jis conversion on linux, and check for the codepage on windows in the memorycard manager like everywhere else
This commit is contained in:
parent
de4e3e7462
commit
9ddb67d4a9
|
@ -446,7 +446,9 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
|
||||||
WARN_LOG(COMMON, "Cannot Convert from Charset Windows Japanese cp 932");
|
WARN_LOG(COMMON, "Cannot Convert from Charset Windows Japanese cp 932");
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
wxCSConv SJISConv(wxFontMapper::GetEncodingName(wxFONTENCODING_EUC_JP));
|
// on linux the wrong string is returned from wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS)
|
||||||
|
// it returns CP-932, in order to use iconv we need to use CP932
|
||||||
|
wxCSConv SJISConv(L"CP932");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
GameListItem& rISOFile = *m_ISOFiles[_Index];
|
GameListItem& rISOFile = *m_ISOFiles[_Index];
|
||||||
|
|
|
@ -1278,8 +1278,10 @@ void CISOProperties::ChangeBannerDetails(int lang)
|
||||||
WARN_LOG(COMMON, "Cannot Convert from Charset Windows Japanese cp 932");
|
WARN_LOG(COMMON, "Cannot Convert from Charset Windows Japanese cp 932");
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
wxCSConv SJISConv(wxFontMapper::GetEncodingName(wxFONTENCODING_EUC_JP));
|
// on linux the wrong string is returned from wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS)
|
||||||
#endif
|
// it returns CP-932, in order to use iconv we need to use CP932
|
||||||
|
wxCSConv SJISConv(L"CP932");
|
||||||
|
#endif
|
||||||
switch (OpenGameListItem->GetCountry())
|
switch (OpenGameListItem->GetCountry())
|
||||||
{
|
{
|
||||||
case DiscIO::IVolume::COUNTRY_TAIWAN:
|
case DiscIO::IVolume::COUNTRY_TAIWAN:
|
||||||
|
|
|
@ -41,7 +41,7 @@ CLogWindow::CLogWindow(CFrame *parent, wxWindowID id, const wxPoint& pos,
|
||||||
, x(0), y(0), winpos(0)
|
, x(0), y(0), winpos(0)
|
||||||
, Parent(parent) , m_LogAccess(true)
|
, Parent(parent) , m_LogAccess(true)
|
||||||
, m_Log(NULL), m_cmdline(NULL), m_FontChoice(NULL)
|
, m_Log(NULL), m_cmdline(NULL), m_FontChoice(NULL)
|
||||||
, m_SJISConv(wxT(""))
|
, m_SJISConv(*(wxCSConv*)wxConvCurrent)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
static bool validCP932 = ::IsValidCodePage(932) != 0;
|
static bool validCP932 = ::IsValidCodePage(932) != 0;
|
||||||
|
@ -52,10 +52,11 @@ CLogWindow::CLogWindow(CFrame *parent, wxWindowID id, const wxPoint& pos,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WARN_LOG(COMMON, "Cannot Convert from Charset Windows Japanese cp 932");
|
WARN_LOG(COMMON, "Cannot Convert from Charset Windows Japanese cp 932");
|
||||||
m_SJISConv = *(wxCSConv*)wxConvCurrent;
|
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
m_SJISConv = wxCSConv(wxFontMapper::GetEncodingName(wxFONTENCODING_EUC_JP));
|
// on linux the wrong string is returned from wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS)
|
||||||
|
// it returns CP-932, in order to use iconv we need to use CP932
|
||||||
|
m_SJISConv = wxCSConv(L"CP932");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
m_LogManager = LogManager::GetInstance();
|
m_LogManager = LogManager::GetInstance();
|
||||||
|
|
|
@ -701,10 +701,22 @@ bool CMemcardManager::ReloadMemcard(const char *fileName, int card)
|
||||||
if (!memoryCard[card]->DEntry_Comment2(j, comment)) comment[0]=0;
|
if (!memoryCard[card]->DEntry_Comment2(j, comment)) comment[0]=0;
|
||||||
|
|
||||||
bool ascii = memoryCard[card]->IsAsciiEncoding();
|
bool ascii = memoryCard[card]->IsAsciiEncoding();
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
wxCSConv SJISConv(wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS));
|
wxCSConv SJISConv(*(wxCSConv*)wxConvCurrent);
|
||||||
|
static bool validCP932 = ::IsValidCodePage(932) != 0;
|
||||||
|
if (validCP932)
|
||||||
|
{
|
||||||
|
SJISConv = wxCSConv(wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
WARN_LOG(COMMON, "Cannot Convert from Charset Windows Japanese cp 932");
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
wxCSConv SJISConv(wxFontMapper::GetEncodingName(wxFONTENCODING_EUC_JP));
|
// on linux the wrong string is returned from wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS)
|
||||||
|
// it returns CP-932, in order to use iconv we need to use CP932
|
||||||
|
wxCSConv SJISConv(L"CP932");
|
||||||
#endif
|
#endif
|
||||||
wxTitle = wxString(title, ascii ? *wxConvCurrent : SJISConv);
|
wxTitle = wxString(title, ascii ? *wxConvCurrent : SJISConv);
|
||||||
wxComment = wxString(comment, ascii ? *wxConvCurrent : SJISConv);
|
wxComment = wxString(comment, ascii ? *wxConvCurrent : SJISConv);
|
||||||
|
|
Loading…
Reference in New Issue