Fix a bug of handling single quote in the correction algorithm

Bug: 6096247
Change-Id: I5490bbdee4ce1e3e0729ec1510a2baab85eeaf05
main
satok 2012-03-02 18:28:58 +09:00
parent 8dced70b06
commit 6804b8e0fd
1 changed files with 5 additions and 3 deletions

View File

@ -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) {