-rw-r--r-- | inputmethods/handwriting/qimpenchar.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/inputmethods/handwriting/qimpenchar.cpp b/inputmethods/handwriting/qimpenchar.cpp index 9c38ec9..152bfec 100644 --- a/inputmethods/handwriting/qimpenchar.cpp +++ b/inputmethods/handwriting/qimpenchar.cpp | |||
@@ -400,65 +400,65 @@ QIMPenChar *QIMPenCharSet::at( int i ) | |||
400 | { | 400 | { |
401 | return chars.at(i); | 401 | return chars.at(i); |
402 | } | 402 | } |
403 | 403 | ||
404 | void QIMPenCharSet::markDeleted( uint ch ) | 404 | void QIMPenCharSet::markDeleted( uint ch ) |
405 | { | 405 | { |
406 | QIMPenCharIterator ci( chars ); | 406 | QIMPenCharIterator ci( chars ); |
407 | for ( ; ci.current(); ++ci ) { | 407 | for ( ; ci.current(); ++ci ) { |
408 | QIMPenChar *pc = ci.current(); | 408 | QIMPenChar *pc = ci.current(); |
409 | if ( pc->character() == ch && pc->testFlag( QIMPenChar::System ) ) | 409 | if ( pc->character() == ch && pc->testFlag( QIMPenChar::System ) ) |
410 | pc->setFlag( QIMPenChar::Deleted ); | 410 | pc->setFlag( QIMPenChar::Deleted ); |
411 | } | 411 | } |
412 | } | 412 | } |
413 | 413 | ||
414 | /*! | 414 | /*! |
415 | Find the best matches for \a ch in this character set. | 415 | Find the best matches for \a ch in this character set. |
416 | */ | 416 | */ |
417 | QIMPenCharMatchList QIMPenCharSet::match( QIMPenChar *ch ) | 417 | QIMPenCharMatchList QIMPenCharSet::match( QIMPenChar *ch ) |
418 | { | 418 | { |
419 | QIMPenCharMatchList matches; | 419 | QIMPenCharMatchList matches; |
420 | 420 | ||
421 | QIMPenCharIterator ci( chars ); | 421 | QIMPenCharIterator ci( chars ); |
422 | for ( ; ci.current(); ++ci ) { | 422 | for ( ; ci.current(); ++ci ) { |
423 | QIMPenChar *tmplChar = ci.current(); | 423 | QIMPenChar *tmplChar = ci.current(); |
424 | if ( tmplChar->testFlag( QIMPenChar::Deleted ) ) { | 424 | if ( tmplChar->testFlag( QIMPenChar::Deleted ) ) { |
425 | continue; | 425 | continue; |
426 | } | 426 | } |
427 | int err; | 427 | int err; |
428 | if ( ch->penStrokes().count() <= tmplChar->penStrokes().count() ) { | 428 | if ( ch->penStrokes().count() <= tmplChar->penStrokes().count() ) { |
429 | err = ch->match( tmplChar ); | 429 | err = ch->match( tmplChar ); |
430 | if ( err <= QIMPEN_MATCH_THRESHOLD ) { | 430 | if ( err <= QIMPEN_MATCH_THRESHOLD ) { |
431 | if (tmplChar->penStrokes().count() != ch->penStrokes().count()) | 431 | if (tmplChar->penStrokes().count() != ch->penStrokes().count()) |
432 | err = QIMPEN_MATCH_THRESHOLD; | 432 | err = QMIN(err*3, QIMPEN_MATCH_THRESHOLD); |
433 | QIMPenCharMatchList::Iterator it; | 433 | QIMPenCharMatchList::Iterator it; |
434 | for ( it = matches.begin(); it != matches.end(); ++it ) { | 434 | for ( it = matches.begin(); it != matches.end(); ++it ) { |
435 | if ( (*it).penChar->character() == tmplChar->character() && | 435 | if ( (*it).penChar->character() == tmplChar->character() && |
436 | (*it).penChar->penStrokes().count() == tmplChar->penStrokes().count() ) { | 436 | (*it).penChar->penStrokes().count() == tmplChar->penStrokes().count() ) { |
437 | if ( (*it).error > err ) | 437 | if ( (*it).error > err ) |
438 | (*it).error = err; | 438 | (*it).error = err; |
439 | break; | 439 | break; |
440 | } | 440 | } |
441 | } | 441 | } |
442 | if ( it == matches.end() ) { | 442 | if ( it == matches.end() ) { |
443 | QIMPenCharMatch m; | 443 | QIMPenCharMatch m; |
444 | m.error = err; | 444 | m.error = err; |
445 | m.penChar = tmplChar; | 445 | m.penChar = tmplChar; |
446 | matches.append( m ); | 446 | matches.append( m ); |
447 | } | 447 | } |
448 | } | 448 | } |
449 | } | 449 | } |
450 | } | 450 | } |
451 | qHeapSort( matches ); | 451 | qHeapSort( matches ); |
452 | /* | 452 | /* |
453 | QIMPenCharMatchList::Iterator it; | 453 | QIMPenCharMatchList::Iterator it; |
454 | for ( it = matches.begin(); it != matches.end(); ++it ) { | 454 | for ( it = matches.begin(); it != matches.end(); ++it ) { |
455 | qDebug( "Match: \'%c\', error %d, strokes %d", (*it).penChar->character(), | 455 | qDebug( "Match: \'%c\', error %d, strokes %d", (*it).penChar->character(), |
456 | (*it).error, (*it).penChar->penStrokes().count() ); | 456 | (*it).error, (*it).penChar->penStrokes().count() ); |
457 | } | 457 | } |
458 | */ | 458 | */ |
459 | return matches; | 459 | return matches; |
460 | } | 460 | } |
461 | 461 | ||
462 | /*! | 462 | /*! |
463 | Add a character \a ch to this set. | 463 | Add a character \a ch to this set. |
464 | QIMPenCharSet will delete this character when it is no longer needed. | 464 | QIMPenCharSet will delete this character when it is no longer needed. |