mirror of
https://github.com/xiaoyifang/goldendict-ng.git
synced 2024-11-24 08:34:08 +00:00
fix: some zim dictionary can not parse correctly
This commit is contained in:
parent
2100ec8e5d
commit
7dae5186ab
23
zim.cc
23
zim.cc
|
@ -1612,14 +1612,31 @@ vector< sptr< Dictionary::Class > > makeDictionaries(
|
||||||
{
|
{
|
||||||
wstring word;
|
wstring word;
|
||||||
if( !title.empty() )
|
if( !title.empty() )
|
||||||
word = Utf8::decode( title );
|
{
|
||||||
else
|
|
||||||
word = Utf8::decode( url );
|
|
||||||
|
|
||||||
|
word = Utf8::decode( title );
|
||||||
if( maxHeadwordsToExpand && zh.articleCount >= maxHeadwordsToExpand )
|
if( maxHeadwordsToExpand && zh.articleCount >= maxHeadwordsToExpand )
|
||||||
indexedWords.addSingleWord( word, n );
|
indexedWords.addSingleWord( word, n );
|
||||||
else
|
else
|
||||||
indexedWords.addWord( word, n );
|
indexedWords.addWord( word, n );
|
||||||
|
}
|
||||||
|
if( !url.empty() )
|
||||||
|
{
|
||||||
|
word = Utf8::decode( url );
|
||||||
|
|
||||||
|
// begin, the same process order as ZimDictionary::convert before findArticle's invocation
|
||||||
|
QString qword = QString::fromStdU32String( word );
|
||||||
|
QRegularExpression htmlRx( "\\.(s|)htm(l|)$", QRegularExpression::CaseInsensitiveOption );
|
||||||
|
qword.remove( htmlRx ).replace( "_", " " ).remove( QRegularExpression( ".*/" ) );
|
||||||
|
//end
|
||||||
|
|
||||||
|
word = qword.toStdU32String();
|
||||||
|
if( maxHeadwordsToExpand && zh.articleCount >= maxHeadwordsToExpand )
|
||||||
|
indexedWords.addSingleWord( word, n );
|
||||||
|
else
|
||||||
|
indexedWords.addWord( word, n );
|
||||||
|
}
|
||||||
|
|
||||||
wordCount++;
|
wordCount++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue