Если вы используете epdfview, то вы наверное знаете, что в нем есть функция выделения текста мышью и занесение его в буфер обмена. К сожалению, она работает не всегда корректно, сегодня решил открыть исходники и вот что я нашел( src/PDFDocument.cxx метод void PDFDocument::setTextSelection (DocumentRectangle *rect) (версия epdfview 0.1.7 строка 684 ):
rect->getX2() * getZoom() / getZoom(),
Сразу понятно, что тут что-то не так, посмотрев на две строчки выше видим :
PopplerRectangle textRect = { rect->getX1() / getZoom(),
Ну и делаем фикс первой строки:
rect->getX2() / getZoom(),
Пересобираем и наслаждаемся правильным выделением текста.

Навигация по записям