From 1cd7ca991961937c1a84572a6cafa3eaf5181be4 Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Fri, 14 Sep 2012 18:03:10 +0900 Subject: [PATCH] Using isSkippableChar instead of '\'' and '-'. Change-Id: I295a72b683b2ebc28a006baa66baf7e1b97100eb --- native/jni/src/correction.cpp | 2 +- native/jni/src/proximity_info.h | 5 +++++ native/jni/src/proximity_info_state.cpp | 4 +--- native/jni/src/unigram_dictionary.cpp | 1 - 4 files changed, 7 insertions(+), 5 deletions(-) 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,