From 10579dcf486292c3def2cc19cbcde8f8dac53107 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 21 Nov 2012 06:26:23 -0800 Subject: [PATCH] Read strings from Matroska as UTF-8 Strings in Matroska files are all either UTF-8 or a UTF-8 subset, not whatever the current locale happens to be. --- aegisub/src/mkv_wrap.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/aegisub/src/mkv_wrap.cpp b/aegisub/src/mkv_wrap.cpp index c9200775f..da10f23cc 100644 --- a/aegisub/src/mkv_wrap.cpp +++ b/aegisub/src/mkv_wrap.cpp @@ -161,9 +161,9 @@ void MatroskaWrapper::GetSubtitles(wxString const& filename, AssFile *target) { // Subtitle track if (trackInfo->Type == 0x11) { - wxString CodecID = wxString(trackInfo->CodecID,*wxConvCurrent); - wxString TrackName = wxString(trackInfo->Name,*wxConvCurrent); - wxString TrackLanguage = wxString(trackInfo->Language,*wxConvCurrent); + wxString CodecID = wxString::FromUTF8(trackInfo->CodecID); + wxString TrackName = wxString::FromUTF8(trackInfo->Name); + wxString TrackLanguage = wxString::FromUTF8(trackInfo->Language); // Known subtitle format if (CodecID == "S_TEXT/SSA" || CodecID == "S_TEXT/ASS" || CodecID == "S_TEXT/UTF8") { @@ -185,7 +185,7 @@ void MatroskaWrapper::GetSubtitles(wxString const& filename, AssFile *target) { else { int choice = wxGetSingleChoiceIndex(_("Choose which track to read:"), _("Multiple subtitle tracks found"), tracksNames); if (choice == -1) - throw agi::UserCancelException("cancelled"); + throw agi::UserCancelException("canceled"); trackToRead = tracksFound[choice]; } @@ -193,7 +193,7 @@ void MatroskaWrapper::GetSubtitles(wxString const& filename, AssFile *target) { // Picked track mkv_SetTrackMask(file, ~(1 << trackToRead)); trackInfo = mkv_GetTrackInfo(file,trackToRead); - wxString CodecID = wxString(trackInfo->CodecID,*wxConvCurrent); + wxString CodecID = wxString::FromUTF8(trackInfo->CodecID); bool srt = CodecID == "S_TEXT/UTF8"; bool ssa = CodecID == "S_TEXT/SSA"; @@ -243,7 +243,7 @@ bool MatroskaWrapper::HasSubtitles(wxString const& filename) { TrackInfo *trackInfo = mkv_GetTrackInfo(file, track); if (trackInfo->Type == 0x11) { - wxString CodecID = wxString(trackInfo->CodecID, *wxConvCurrent); + wxString CodecID = wxString::FromUTF8(trackInfo->CodecID); if (CodecID == "S_TEXT/SSA" || CodecID == "S_TEXT/ASS" || CodecID == "S_TEXT/UTF8") { mkv_Close(file); return true;