diff options
author | 2011-04-20 17:33:47 +0900 | |
---|---|---|
committer | 2011-04-20 17:44:13 +0900 | |
commit | 22104663fc3ed9228c6a6ac35a893b23e50c8b33 (patch) | |
tree | c8a0431903bbfd366aeb1e6934e4b485a7491c14 /java/src/com/android/inputmethod/latin/Utils.java | |
parent | 0aae85fb671b300130b1c842d8a9a4ec4a49a3d8 (diff) | |
download | latinime-22104663fc3ed9228c6a6ac35a893b23e50c8b33.tar.gz latinime-22104663fc3ed9228c6a6ac35a893b23e50c8b33.tar.xz latinime-22104663fc3ed9228c6a6ac35a893b23e50c8b33.zip |
Tweak the normalized score for the words with spaces
Change-Id: Icc0c4fd0474ed5094fb274a6ea745ca583ba524d
Diffstat (limited to 'java/src/com/android/inputmethod/latin/Utils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/Utils.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java index f01a81d6e..f8b23cb65 100644 --- a/java/src/com/android/inputmethod/latin/Utils.java +++ b/java/src/com/android/inputmethod/latin/Utils.java @@ -19,6 +19,7 @@ package com.android.inputmethod.latin; import com.android.inputmethod.compat.InputMethodInfoCompatWrapper; import com.android.inputmethod.compat.InputMethodManagerCompatWrapper; import com.android.inputmethod.compat.InputTypeCompatUtils; +import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.KeyboardId; import android.content.Context; @@ -344,8 +345,16 @@ public class Utils { final int distance = editDistance(before, after); // If afterLength < beforeLength, the algorithm is suggesting a word by excessive character // correction. + int spaceCount = 0; + for (int i = 0; i < afterLength; ++i) { + if (after.charAt(i) == Keyboard.CODE_SPACE) { + ++spaceCount; + } + } + if (spaceCount == afterLength) return 0; final double maximumScore = MAX_INITIAL_SCORE - * Math.pow(TYPED_LETTER_MULTIPLIER, Math.min(beforeLength, afterLength)) + * Math.pow( + TYPED_LETTER_MULTIPLIER, Math.min(beforeLength, afterLength - spaceCount)) * FULL_WORD_MULTIPLIER; // add a weight based on edit distance. // distance <= max(afterLength, beforeLength) == afterLength, |