Fix a bug of handling single quote in the correction algorithm
Bug: 6096247 Change-Id: I5490bbdee4ce1e3e0729ec1510a2baab85eeaf05main
parent
8dced70b06
commit
6804b8e0fd
|
@ -344,9 +344,11 @@ Correction::CorrectionType Correction::processCharAndCalcState(
|
|||
mDistances[mOutputIndex] =
|
||||
mProximityInfo->getNormalizedSquaredDistance(mInputIndex, proximityIndex);
|
||||
}
|
||||
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) {
|
||||
|
|
Loading…
Reference in New Issue