diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index 37d421d3..dfb99d8c 100644 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -74,9 +74,10 @@ set(SRC_FILES ) set(SRC_FILES_IME_ENGINE - "./MetasequoiaImeEngine/shuangpin/common_utils.cpp" - "./MetasequoiaImeEngine/shuangpin/dictionary.cpp" - "./MetasequoiaImeEngine/shuangpin/pinyin_utils.cpp" + "./MetasequoiaImeEngine/common/string_utils.cpp" + "./MetasequoiaImeEngine/shuangpin/shuangpin_dictionary.cpp" + "./MetasequoiaImeEngine/shuangpin/shuangpin_query.cpp" + "./MetasequoiaImeEngine/shuangpin/shuangpin_utils.cpp" ) set(SRC_FILES_GOOGLEIME diff --git a/server/MetasequoiaImeEngine b/server/MetasequoiaImeEngine index 5fcfada4..37b17426 160000 --- a/server/MetasequoiaImeEngine +++ b/server/MetasequoiaImeEngine @@ -1 +1 @@ -Subproject commit 5fcfada49fe11e41cb5fc13b74fa56cfa4dcb217 +Subproject commit 37b1742643eba5a09811c09d67cb2401e99f89af diff --git a/server/scripts/config_files/CMakeLists.txt b/server/scripts/config_files/CMakeLists.txt index 0b8861bb..c25373a4 100644 --- a/server/scripts/config_files/CMakeLists.txt +++ b/server/scripts/config_files/CMakeLists.txt @@ -70,9 +70,10 @@ set(SRC_FILES ) set(SRC_FILES_IME_ENGINE - "./MetasequoiaImeEngine/shuangpin/common_utils.cpp" - "./MetasequoiaImeEngine/shuangpin/dictionary.cpp" - "./MetasequoiaImeEngine/shuangpin/pinyin_utils.cpp" + "./MetasequoiaImeEngine/common/string_utils.cpp" + "./MetasequoiaImeEngine/shuangpin/shuangpin_dictionary.cpp" + "./MetasequoiaImeEngine/shuangpin/shuangpin_query.cpp" + "./MetasequoiaImeEngine/shuangpin/shuangpin_utils.cpp" ) set(SRC_FILES_GOOGLEIME @@ -108,4 +109,4 @@ set_target_properties(${PROJECT_NAME} PROPERTIES VS_PACKAGE_REFERENCES "Microsof # Tomlplusplus and other head-only libraries target_include_directories(${PROJECT_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/build/vcpkg_installed/x64-windows/include") -target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3 fmt::fmt spdlog::spdlog Boost::locale Boost::json) \ No newline at end of file +target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3 fmt::fmt spdlog::spdlog Boost::locale Boost::json) diff --git a/server/scripts/config_files/tests/CMakeLists.txt b/server/scripts/config_files/tests/CMakeLists.txt index 49b0d888..ae146c0e 100644 --- a/server/scripts/config_files/tests/CMakeLists.txt +++ b/server/scripts/config_files/tests/CMakeLists.txt @@ -32,8 +32,10 @@ set(MY_EXECUTABLE_NAME "imetest") set( SOURCE_FILES "./src/test_shuangpin.cpp" - "../MetasequoiaImeEngine/shuangpin/dictionary.cpp" - "../MetasequoiaImeEngine/shuangpin/pinyin_utils.cpp" + "../MetasequoiaImeEngine/common/string_utils.cpp" + "../MetasequoiaImeEngine/shuangpin/shuangpin_dictionary.cpp" + "../MetasequoiaImeEngine/shuangpin/shuangpin_query.cpp" + "../MetasequoiaImeEngine/shuangpin/shuangpin_utils.cpp" # Google IME "../MetasequoiaImeEngine/googlepinyinime-rev/src/share/dictbuilder.cpp" "../MetasequoiaImeEngine/googlepinyinime-rev/src/share/dictlist.cpp" @@ -55,4 +57,4 @@ set( add_executable(${MY_EXECUTABLE_NAME} ${SOURCE_FILES} ) -target_link_libraries(${MY_EXECUTABLE_NAME} fmt::fmt spdlog::spdlog unofficial::sqlite3::sqlite3 Boost::locale) \ No newline at end of file +target_link_libraries(${MY_EXECUTABLE_NAME} fmt::fmt spdlog::spdlog unofficial::sqlite3::sqlite3 Boost::locale) diff --git a/server/src/ipc/event_listener.cpp b/server/src/ipc/event_listener.cpp index 08c82729..c761d82f 100644 --- a/server/src/ipc/event_listener.cpp +++ b/server/src/ipc/event_listener.cpp @@ -19,7 +19,7 @@ #include "fmt/xchar.h" #include #include "global/globals.h" -#include "MetasequoiaImeEngine/shuangpin/pinyin_utils.h" +#include "MetasequoiaImeEngine/shuangpin/shuangpin_utils.h" #include "ipc/event_listener.h" #include "utils/ime_utils.h" #include "cloud/cloud_ime.h" @@ -613,7 +613,7 @@ void PrepareCandidateList() Global::SelectedCandidateString = string_to_wstring(word); } - candidate_string += word + PinyinUtil::compute_helpcodes(word); + candidate_string += word + ShuangpinUtil::compute_helpcodes(word); int size = utf8::distance(word.begin(), word.end()); maxCount = std::max(maxCount, size); @@ -688,7 +688,7 @@ void ApplyCloudCandidate(const std::string &candidate, const std::string &pinyin Global::SelectedCandidateString = string_to_wstring(word); } - candidate_string += word + PinyinUtil::compute_helpcodes(word); + candidate_string += word + ShuangpinUtil::compute_helpcodes(word); int size = utf8::distance(word.begin(), word.end()); maxCount = std::max(maxCount, size); @@ -850,7 +850,7 @@ void HandleImeKey(HANDLE hEvent) { Global::SelectedCandidateString = string_to_wstring(word); } - candidate_string += word + PinyinUtil::compute_helpcodes(word); + candidate_string += word + ShuangpinUtil::compute_helpcodes(word); Global::CandidateWordList.push_back(string_to_wstring(word)); if (i < loop - 1) { @@ -883,7 +883,7 @@ void HandleImeKey(HANDLE hEvent) { Global::SelectedCandidateString = string_to_wstring(word); } - candidate_string += word + PinyinUtil::compute_helpcodes(word); + candidate_string += word + ShuangpinUtil::compute_helpcodes(word); Global::CandidateWordList.push_back(string_to_wstring(word)); if (i < loop - 1) { @@ -976,7 +976,7 @@ void ProcessSelectionKey(UINT keycode) /* 更新一下中间态的造词时 tsf 端所需的数据 */ Global::SelectedCandidateString = string_to_wstring(GlobalIme::pinyin_for_creating_word + "," + GlobalIme::word_for_creating_word); - if (PinyinUtil::cnt_han_chars(GlobalIme::word_for_creating_word) * 2 == + if (ShuangpinUtil::cnt_han_chars(GlobalIme::word_for_creating_word) * 2 == GlobalIme::pinyin_for_creating_word.size()) { /* 最终的造词 */ #ifdef FANY_DEBUG diff --git a/server/src/ipc/event_listener.h b/server/src/ipc/event_listener.h index cf9dcaca..b54f7aa1 100644 --- a/server/src/ipc/event_listener.h +++ b/server/src/ipc/event_listener.h @@ -8,7 +8,7 @@ #include #include #include -#include "MetasequoiaImeEngine/shuangpin/dictionary.h" +#include "MetasequoiaImeEngine/shuangpin/shuangpin_dictionary.h" inline std::condition_variable pipe_queueCv; inline std::atomic_bool pipe_running = true; diff --git a/server/src/ipc/ipc.h b/server/src/ipc/ipc.h index d2843870..da506cb2 100644 --- a/server/src/ipc/ipc.h +++ b/server/src/ipc/ipc.h @@ -1,6 +1,6 @@ #pragma once -#include "MetasequoiaImeEngine/shuangpin/dictionary.h" +#include "MetasequoiaImeEngine/shuangpin/shuangpin_dictionary.h" #include #include #include @@ -203,4 +203,4 @@ constexpr UINT SwitchToHalfwidth = 5; constexpr UINT CommitCandidate = 6; } // namespace DataFromServerMsgTypeToTsfWorkerThread -} // namespace Global \ No newline at end of file +} // namespace Global diff --git a/server/tests/src/test_shuangpin.cpp b/server/tests/src/test_shuangpin.cpp index faf10ba8..9ed094e8 100644 --- a/server/tests/src/test_shuangpin.cpp +++ b/server/tests/src/test_shuangpin.cpp @@ -1,7 +1,7 @@ #include #include #include "fmt/base.h" -#include "MetasequoiaImeEngine/shuangpin/dictionary.h" +#include "MetasequoiaImeEngine/shuangpin/shuangpin_dictionary.h" #include int main(int argc, char *argv[])