From 9e407e523da338a135a848bd7a072ea587b820fe Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 15 Mar 2026 21:49:45 +0530 Subject: [PATCH] Function to get word break iterator for UI thread --- src/calibre/spell/break_iterator.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/calibre/spell/break_iterator.py b/src/calibre/spell/break_iterator.py index 506c4d83d3..2ea32cd9d3 100644 --- a/src/calibre/spell/break_iterator.py +++ b/src/calibre/spell/break_iterator.py @@ -21,6 +21,14 @@ def get_iterator(lang): return it +def get_word_break_iterator_for_ui_thread(): + if (ans := getattr(get_word_break_iterator_for_ui_thread, 'ans', None)) is None: + from calibre.utils.localization import get_lang + ans = _icu.BreakIterator(_icu.UBRK_WORD, lang_as_iso639_1(get_lang() or 'en') or 'en') + setattr(get_word_break_iterator_for_ui_thread, 'ans', ans) + return ans + + def get_sentence_iterator(lang): it = _sentence_iterators.get(lang) if it is None: