Beispiel #1
0
 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)
Beispiel #2
0
 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)