diff --git a/Minecraft.Client/Common/Media/font/CHS/MSYH.ttf b/Minecraft.Client/Common/Media/font/CHS/MSYH.ttf new file mode 100644 index 00000000..96d1db19 Binary files /dev/null and b/Minecraft.Client/Common/Media/font/CHS/MSYH.ttf differ diff --git a/Minecraft.Client/Common/Media/font/CHT/DFHeiMedium-B5.ttf b/Minecraft.Client/Common/Media/font/CHT/DFHeiMedium-B5.ttf new file mode 100644 index 00000000..f9fb4894 Binary files /dev/null and b/Minecraft.Client/Common/Media/font/CHT/DFHeiMedium-B5.ttf differ diff --git a/Minecraft.Client/Common/Media/font/JPN/DFGMaruGothic-Md.ttf b/Minecraft.Client/Common/Media/font/JPN/DFGMaruGothic-Md.ttf new file mode 100644 index 00000000..4eb4eef7 Binary files /dev/null and b/Minecraft.Client/Common/Media/font/JPN/DFGMaruGothic-Md.ttf differ diff --git a/Minecraft.Client/Common/Media/font/KOR/BOKMSD.ttf b/Minecraft.Client/Common/Media/font/KOR/BOKMSD.ttf new file mode 100644 index 00000000..83fe8699 Binary files /dev/null and b/Minecraft.Client/Common/Media/font/KOR/BOKMSD.ttf differ diff --git a/Minecraft.Client/Common/Media/font/Mojangles.ttf b/Minecraft.Client/Common/Media/font/Mojangles.ttf new file mode 100644 index 00000000..e7b87e9f Binary files /dev/null and b/Minecraft.Client/Common/Media/font/Mojangles.ttf differ diff --git a/Minecraft.World/StringHelpers.cpp b/Minecraft.World/StringHelpers.cpp index b56a85f1..9bd84660 100644 --- a/Minecraft.World/StringHelpers.cpp +++ b/Minecraft.World/StringHelpers.cpp @@ -1,4 +1,6 @@ #include "stdafx.h" +#include +#include wstring toLower(const wstring& a) { @@ -41,9 +43,26 @@ bool equalsIgnoreCase(const wstring& a, const wstring& b) wstring convStringToWstring(const string& converting) { - wstring converted(converting.length(), L' '); - copy(converting.begin(), converting.end(), converted.begin()); - return converted; + if (converting.empty()) return wstring(); + +#ifdef _WIN32 + // windows - UTF-16 + std::wstring_convert, wchar_t> converter; +#else + // unix - UTF-32 + std::wstring_convert, wchar_t> converter; +#endif + try + { + return converter.from_bytes(converting); + } + catch(...) + { + // fallbakc - simple widening + wstring converted(converting.length(), L' '); + copy(converting.begin(), converting.end(), converted.begin()); + return converted; + } } // Convert for filename wstrings to a straight character pointer for Xbox APIs. The returned string is only valid until