mirror of
https://github.com/xiaoyifang/goldendict-ng.git
synced 2024-11-24 00:14:06 +00:00
fix:epwing performance improvement.
the head correction process seems takes too much time. The headword is returned by epwing api , there is no need to verify the headword again . And at some cases , the headword verification never works.
This commit is contained in:
parent
a9b3a64f05
commit
53ce63fbf5
|
@ -1032,42 +1032,44 @@ void EpwingBook::fixHeadword( QString & headword )
|
|||
|
||||
headword.remove( QChar( 0x30FB ) ); // Used in Japan transcription
|
||||
|
||||
if( isHeadwordCorrect( headword) )
|
||||
return;
|
||||
//if( isHeadwordCorrect( headword) )
|
||||
// return;
|
||||
|
||||
QString fixed = headword;
|
||||
QRegularExpression leadingSlashRx( "/[^/]+/" );
|
||||
fixed.remove(leadingSlashRx );
|
||||
|
||||
if( isHeadwordCorrect( fixed ) )
|
||||
{
|
||||
headword = fixed;
|
||||
return;
|
||||
}
|
||||
//if( isHeadwordCorrect( fixed ) )
|
||||
//{
|
||||
// headword = fixed;
|
||||
// return;
|
||||
//}
|
||||
|
||||
gd::wstring folded = Folding::applyPunctOnly( gd::toWString( fixed ) );
|
||||
fixed = gd::toQString( folded );
|
||||
|
||||
if( isHeadwordCorrect( fixed ) )
|
||||
{
|
||||
headword = fixed;
|
||||
return;
|
||||
}
|
||||
//if( isHeadwordCorrect( fixed ) )
|
||||
//{
|
||||
// headword = fixed;
|
||||
// return;
|
||||
//}
|
||||
|
||||
folded = Folding::applyDiacriticsOnly( folded );
|
||||
fixed = gd::toQString( folded );
|
||||
|
||||
if( isHeadwordCorrect( fixed ) )
|
||||
{
|
||||
headword = fixed;
|
||||
return;
|
||||
}
|
||||
//if( isHeadwordCorrect( fixed ) )
|
||||
//{
|
||||
// headword = fixed;
|
||||
// return;
|
||||
//}
|
||||
|
||||
folded = Folding::applyWhitespaceOnly( folded );
|
||||
fixed = gd::toQString( folded );
|
||||
//folded = Folding::applyWhitespaceOnly( folded );
|
||||
//fixed = gd::toQString( folded );
|
||||
|
||||
if( isHeadwordCorrect( fixed ) )
|
||||
headword = fixed;
|
||||
//if( isHeadwordCorrect( fixed ) )
|
||||
// headword = fixed;
|
||||
|
||||
headword = fixed;
|
||||
}
|
||||
|
||||
void EpwingBook::getArticle( QString & headword, QString & articleText,
|
||||
|
|
|
@ -596,7 +596,7 @@ bool isPunct( wchar ch )
|
|||
case 0xFF64: // HALFWIDTH IDEOGRAPHIC COMMA
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
return QChar::isPunct(ch)||QChar::isSymbol(ch);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue