From de9a3ede6d35f53c63bb2b715760754d8c71c590 Mon Sep 17 00:00:00 2001 From: chinosk <2248589280@qq.com> Date: Sat, 22 Mar 2025 11:56:57 +0000 Subject: [PATCH] fixed duplicate space --- src/GakumasLocalify/Local.cpp | 10 +++++++++- src/GakumasLocalify/Misc.cpp | 23 ++++++++++++++++++----- src/resourceUpdate/resourceUpdate.cpp | 2 +- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/GakumasLocalify/Local.cpp b/src/GakumasLocalify/Local.cpp index 26ab689..9c6c277 100644 --- a/src/GakumasLocalify/Local.cpp +++ b/src/GakumasLocalify/Local.cpp @@ -251,7 +251,7 @@ namespace GakumasLocal::Local { } bool GetSplitTagsTranslation(const std::string& origText, std::string* newText, std::vector& unTransResultRet) { - if (!origText.contains(L'<')) return false; + if (!origText.contains('<')) return false; const auto splitResult = SplitByTags(origText); if (splitResult.empty()) return false; @@ -291,10 +291,18 @@ namespace GakumasLocal::Local { std::u16string currentWaitingReplaceText; +#ifdef GKMS_WINDOWS +#define checkCurrentWaitingReplaceTextAndClear() \ + if (!currentWaitingReplaceText.empty()) { \ + auto trimmed = trim(Misc::ToUTF8(currentWaitingReplaceText)); \ + waitingReplaceTexts.push_back(trimmed); \ + currentWaitingReplaceText.clear(); } +#else #define checkCurrentWaitingReplaceTextAndClear() \ if (!currentWaitingReplaceText.empty()) { \ waitingReplaceTexts.push_back(Misc::ToUTF8(currentWaitingReplaceText)); \ currentWaitingReplaceText.clear(); } +#endif for (char16_t currChar : origText) { if (currChar == u'<') { diff --git a/src/GakumasLocalify/Misc.cpp b/src/GakumasLocalify/Misc.cpp index 47fc3e4..0f63390 100644 --- a/src/GakumasLocalify/Misc.cpp +++ b/src/GakumasLocalify/Misc.cpp @@ -14,6 +14,24 @@ namespace GakumasLocal::Misc { + +#ifdef GKMS_WINDOWS + std::string ToUTF8(const std::wstring_view& str) { + return utility::conversions::to_utf8string(str.data()); + } + + std::u16string ToUTF16(const std::string_view& str) { + std::string input(str); + std::wstring wstr = utility::conversions::utf8_to_utf16(input); + return std::u16string(wstr.begin(), wstr.end()); + } + + std::string ToUTF8(const std::u16string_view& str) { + std::u16string u16(str); + std::wstring wstr(u16.begin(), u16.end()); + return utility::conversions::utf16_to_utf8(wstr); + } +#else std::u16string ToUTF16(const std::string_view& str) { std::wstring_convert, char16_t> utf16conv; return utf16conv.from_bytes(str.data(), str.data() + str.size()); @@ -23,11 +41,6 @@ namespace GakumasLocal::Misc { std::wstring_convert, char16_t> utf16conv; return utf16conv.to_bytes(str.data(), str.data() + str.size()); } - -#ifdef GKMS_WINDOWS - std::string ToUTF8(const std::wstring_view& str) { - return utility::conversions::to_utf8string(str.data()); - } #endif #ifndef GKMS_WINDOWS diff --git a/src/resourceUpdate/resourceUpdate.cpp b/src/resourceUpdate/resourceUpdate.cpp index 25b0b46..c3a89c2 100644 --- a/src/resourceUpdate/resourceUpdate.cpp +++ b/src/resourceUpdate/resourceUpdate.cpp @@ -147,7 +147,7 @@ namespace GkmsResourceUpdate { } void CheckUpdateFromAPI(bool isManual) { - std::thread([&isManual]() { + std::thread([isManual]() { try { if (!g_useAPIAssets) { return;