def mark_on_poem(self, text, cursive=False): self.i_min = None text = daw_araby.fuzzy(text) ls = text.split() ln = len(ls) list_search = [] text_page0 = self.view_abiat_bfr.get_text(self.view_abiat_bfr.get_start_iter(), self.view_abiat_bfr.get_end_iter(), False).decode('utf8') self.text_page = daw_araby.stripTatweel(text_page0) ls_poem, nw = daw_tools.n_words(self.text_page) list_word = text_page0.split() if cursive == False: for n in range(nw): for k in range(len(ls)): if ls[k] in daw_araby.fuzzy(ls_poem[n]) or ls[k] in ls_poem[n]: list_search.append(daw_customs.tashkil(list_word[n])) else: for n in range(nw): ntext = daw_araby.fuzzy(' '.join(ls_poem[n:n+ln])) if text in ntext: list_search.append(daw_customs.tashkil(' '.join(list_word[n:n+ln]))) for txt in list_search: cursor_mark = self.view_abiat_bfr.get_insert() start = self.view_abiat_bfr.get_iter_at_mark(cursor_mark) if start.get_offset() == self.view_abiat_bfr.get_char_count(): start = self.view_abiat_bfr.get_start_iter() self.search_and_mark2(txt, start)
def search_half(self, text): self.i_min = None text = text.decode('utf8') list_search = [] self.build(self.new_font) ls_poem = self.new_poem.splitlines(1) for a in ls_poem: if daw_araby.fuzzy(text) in daw_araby.fuzzy(a) : list_search.append(daw_customs.tashkil(a)) for txt in list_search: cursor_mark = self.view_poem_bfr.get_insert() start = self.view_poem_bfr.get_iter_at_mark(cursor_mark) if start.get_offset() == self.view_poem_bfr.get_char_count(): start = self.view_poem_bfr.get_start_iter() self.search_and_mark(txt, start)