(hits, line, ch)
| 24250 | |
| 24251 | |
| 24252 | def on_highlight_char(hits, line, ch): |
| 24253 | assert hits |
| 24254 | assert isinstance(line, mupdf.FzStextLine) |
| 24255 | assert isinstance(ch, mupdf.FzStextChar) |
| 24256 | vfuzz = ch.m_internal.size * hits.vfuzz |
| 24257 | hfuzz = ch.m_internal.size * hits.hfuzz |
| 24258 | ch_quad = JM_char_quad(line, ch) |
| 24259 | if hits.len > 0: |
| 24260 | # fixme: end = hits.quads[-1] |
| 24261 | quad = hits.quads[hits.len - 1] |
| 24262 | end = JM_quad_from_py(quad) |
| 24263 | if ( 1 |
| 24264 | and hdist(line.m_internal.dir, end.lr, ch_quad.ll) < hfuzz |
| 24265 | and vdist(line.m_internal.dir, end.lr, ch_quad.ll) < vfuzz |
| 24266 | and hdist(line.m_internal.dir, end.ur, ch_quad.ul) < hfuzz |
| 24267 | and vdist(line.m_internal.dir, end.ur, ch_quad.ul) < vfuzz |
| 24268 | ): |
| 24269 | end.ur = ch_quad.ur |
| 24270 | end.lr = ch_quad.lr |
| 24271 | assert hits.quads[-1] == end |
| 24272 | return |
| 24273 | hits.quads.append(ch_quad) |
| 24274 | hits.len += 1 |
| 24275 | |
| 24276 | |
| 24277 | def page_merge(doc_des, doc_src, page_from, page_to, rotate, links, copy_annots, graft_map): |
no test coverage detected
searching dependent graphs…