comparison src/extra.i @ 41:71bcc18e306f

MERGE: New upstream PyMuPDF v1.26.5 including MuPDF v1.26.10 BUGS: Needs some additional changes yet. Not yet tested.
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 11 Oct 2025 15:24:40 +0200
parents a6bc019ac0b2
children
comparison
equal deleted inserted replaced
38:8934ac156ef5 41:71bcc18e306f
1 %module fitz_extra
2
3 %pythoncode %{ 1 %pythoncode %{
4 # pylint: disable=all 2 # pylint: disable=all
5 %} 3 %}
6 4
7 %begin 5 %begin
3295 mupdf::FzRect cbbox = JM_char_bbox(line, ch); 3293 mupdf::FzRect cbbox = JM_char_bbox(line, ch);
3296 if (!JM_rects_overlap(tp_rect, *cbbox.internal()) && !fz_is_infinite_rect(tp_rect)) 3294 if (!JM_rects_overlap(tp_rect, *cbbox.internal()) && !fz_is_infinite_rect(tp_rect))
3297 { 3295 {
3298 continue; 3296 continue;
3299 } 3297 }
3300 3298 // prevent Unicode ZWJ 0x200d to start a word
3299 if (buflen == 0 && ch.m_internal->c == 0x200d)
3300 {
3301 continue;
3302 }
3301 int word_delimiter = JM_is_word_delimiter(ch.m_internal->c, delimiters); 3303 int word_delimiter = JM_is_word_delimiter(ch.m_internal->c, delimiters);
3302 int this_char_rtl = JM_is_rtl_char(ch.m_internal->c); 3304 int this_char_rtl = JM_is_rtl_char(ch.m_internal->c);
3303 if (word_delimiter || this_char_rtl != last_char_rtl) 3305 if (word_delimiter || this_char_rtl != last_char_rtl)
3304 { 3306 {
3305 if (buflen == 0 && word_delimiter) 3307 if (buflen == 0 && word_delimiter)