diff --git a/frontend/apps/reader/modules/readerdictionary.lua b/frontend/apps/reader/modules/readerdictionary.lua index 7c60cb33a..00f1005d4 100644 --- a/frontend/apps/reader/modules/readerdictionary.lua +++ b/frontend/apps/reader/modules/readerdictionary.lua @@ -462,25 +462,31 @@ function ReaderDictionary:cleanSelection(text) -- some cleanup is still needed for selection we get from other engines -- (example: pdf selection "qu’autrefois," will be cleaned to "autrefois") -- + -- Trim any space at start or end + text = text:gsub("^%s+", "") + text = text:gsub("%s+$", "") -- Replace extended quote (included in the general puncturation range) -- with plain ascii quote (for french words like "aujourd’hui") - text = string.gsub(text, "\xE2\x80\x99", "'") -- U+2019 (right single quotation mark) + text = text:gsub("\xE2\x80\x99", "'") -- U+2019 (right single quotation mark) -- Strip punctuation characters around selection text = util.stripePunctuations(text) -- Strip some common english grammatical construct - text = string.gsub(text, "'s$", '') -- english possessive + text = text:gsub("'s$", '') -- english possessive -- Strip some common french grammatical constructs - text = string.gsub(text, "^[LSDMNTlsdmnt]'", '') -- french l' s' t'... - text = string.gsub(text, "^[Qq][Uu]'", '') -- french qu' + text = text:gsub("^[LSDMNTlsdmnt]'", '') -- french l' s' t'... + text = text:gsub("^[Qq][Uu]'", '') -- french qu' -- Replace no-break space with regular space - text = string.gsub(text, "\xC2\xA0", ' ') -- U+00A0 no-break space + text = text:gsub("\xC2\xA0", ' ') -- U+00A0 no-break space -- There may be a need to remove some (all?) diacritical marks -- https://en.wikipedia.org/wiki/Combining_character#Unicode_ranges -- see discussion at https://github.com/koreader/koreader/issues/1649 -- Commented for now, will have to be checked by people who read -- languages and texts that use them. - -- text = string.gsub(text, "\204[\128-\191]", '') -- U+0300 to U+033F - -- text = string.gsub(text, "\205[\128-\175]", '') -- U+0340 to U+036F + -- text = text:gsub("\204[\128-\191]", '') -- U+0300 to U+033F + -- text = text:gsub("\205[\128-\175]", '') -- U+0340 to U+036F + -- Trim any space now at start or end after above changes + text = text:gsub("^%s+", "") + text = text:gsub("%s+$", "") return text end @@ -494,7 +500,7 @@ end function ReaderDictionary:dismissLookupInfo() if self.lookup_progress_msg then UIManager:close(self.lookup_progress_msg) - UIManager:forceRePaint() + -- UIManager:forceRePaint() end self.lookup_progress_msg = nil end