diff --git a/native/jni/src/correction.cpp b/native/jni/src/correction.cpp index 15a713122..49e3e3c8c 100644 --- a/native/jni/src/correction.cpp +++ b/native/jni/src/correction.cpp @@ -631,7 +631,7 @@ Correction::CorrectionType Correction::processCharAndCalcState( inline static int getQuoteCount(const unsigned short *word, const int length) { int quoteCount = 0; for (int i = 0; i < length; ++i) { - if (word[i] == '\'') { + if (word[i] == SINGLE_QUOTE) { ++quoteCount; } } diff --git a/native/jni/src/proximity_info.h b/native/jni/src/proximity_info.h index 2f258ef86..0d8c6a3ca 100644 --- a/native/jni/src/proximity_info.h +++ b/native/jni/src/proximity_info.h @@ -27,6 +27,11 @@ namespace latinime { class Correction; +inline bool isSkippableChar(const uint16_t character) { + // TODO: Do not hardcode here + return character == '\'' || character == '-'; +} + class ProximityInfo { public: ProximityInfo(JNIEnv *env, const jstring localeJStr, const int maxProximityCharsSize, diff --git a/native/jni/src/proximity_info_state.cpp b/native/jni/src/proximity_info_state.cpp index 7e917a929..3edd9b391 100644 --- a/native/jni/src/proximity_info_state.cpp +++ b/native/jni/src/proximity_info_state.cpp @@ -469,9 +469,7 @@ float ProximityInfoState::getPointToKeyLength(const int inputIndex, const int co const int index = inputIndex * mProximityInfo->getKeyCount() + keyId; return min(mDistanceCache[index] * scale, mMaxPointToKeyLength); } - // TODO: Do not hardcode here - // No penalty to ' and - - if (codePoint == '\'' || codePoint == '-') { + if (isSkippableChar(codePoint)) { return 0; } // If the char is not a key on the keyboard then return the max length. diff --git a/native/jni/src/unigram_dictionary.cpp b/native/jni/src/unigram_dictionary.cpp index 6eaff48df..49d044fbc 100644 --- a/native/jni/src/unigram_dictionary.cpp +++ b/native/jni/src/unigram_dictionary.cpp @@ -314,7 +314,6 @@ void UnigramDictionary::initSuggestions(ProximityInfo *proximityInfo, const int correction->initCorrection(proximityInfo, inputSize, maxDepth); } -static const char QUOTE = '\''; static const char SPACE = ' '; void UnigramDictionary::getOneWordSuggestions(ProximityInfo *proximityInfo,