aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src
diff options
context:
space:
mode:
authorsatok <satok@google.com>2012-03-02 18:28:58 +0900
committersatok <satok@google.com>2012-05-15 15:12:55 +0900
commit6804b8e0fd12b8d57f99f4364cb89fdabe9f4f8b (patch)
treeb534a5baf59f5440eb34dff988d2869743b7fe44 /native/jni/src
parent8dced70b062744a2c27e0cf6dcd0787cf598a97c (diff)
downloadlatinime-6804b8e0fd12b8d57f99f4364cb89fdabe9f4f8b.tar.gz
latinime-6804b8e0fd12b8d57f99f4364cb89fdabe9f4f8b.tar.xz
latinime-6804b8e0fd12b8d57f99f4364cb89fdabe9f4f8b.zip
Fix a bug of handling single quote in the correction algorithm
Bug: 6096247 Change-Id: I5490bbdee4ce1e3e0729ec1510a2baab85eeaf05
Diffstat (limited to 'native/jni/src')
-rw-r--r--native/jni/src/correction.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/native/jni/src/correction.cpp b/native/jni/src/correction.cpp
index 376e9a10e..a1f812909 100644
--- a/native/jni/src/correction.cpp
+++ b/native/jni/src/correction.cpp
@@ -344,8 +344,10 @@ Correction::CorrectionType Correction::processCharAndCalcState(
mDistances[mOutputIndex] =
mProximityInfo->getNormalizedSquaredDistance(mInputIndex, proximityIndex);
}
- incrementInputIndex();
- incremented = true;
+ if (!isQuote(c)) {
+ incrementInputIndex();
+ incremented = true;
+ }
}
return processSkipChar(c, isTerminal, incremented);
}
@@ -710,7 +712,7 @@ int Correction::RankingAlgorithm::calculateFinalProbability(const int inputIndex
ed = max(0, ed - quoteDiffCount);
adjustedProximityMatchedCount = min(max(0, ed - (outputLength - inputLength)),
proximityMatchedCount);
- if (transposedCount < 1) {
+ if (transposedCount <= 0) {
if (ed == 1 && (inputLength == outputLength - 1 || inputLength == outputLength + 1)) {
// Promote a word with just one skipped or excessive char
if (sameLength) {