39 lines
875 B
C++
39 lines
875 B
C++
/***
|
|
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: EncoderIConv.cpp
|
|
Date: 2021-8-19
|
|
Author: Reece
|
|
***/
|
|
#include <Source/RuntimeInternal.hpp>
|
|
#include "Encoding.hpp"
|
|
#include "EncoderIConv.hpp"
|
|
|
|
namespace Aurora::Locale::Encoding
|
|
{
|
|
static void SanitizeIConvCharset(AuString &str)
|
|
{
|
|
if (AuStartsWith(str, "MS-"))
|
|
{
|
|
str = "WINDOWS-" + str.substr(3);
|
|
return;
|
|
}
|
|
|
|
str = AuToUpper(str);
|
|
|
|
if (str == "SJIS")
|
|
{
|
|
str = "SHIFT_JIS";
|
|
return;
|
|
}
|
|
|
|
if (AuStartsWith(str, "LATIN-") && str.size() == 7)
|
|
{
|
|
str[5] = str[6];
|
|
str.pop_back();
|
|
return;
|
|
}
|
|
|
|
// str is now **probably** something your unix platform iconv can understand
|
|
}
|
|
} |