AuroraRuntime/Source/Locale/Encoding/EncoderIConv.cpp
Reece 0ca7b2c668 [*] Minor optimization: iconv locale translation
[*] Minor optimization: AuMin/Max return reference [again]
2022-02-17 20:37:29 +00:00

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
}
}