chrox
775e5ea3b4
serialize the most recently used blitbuffer/koptcontext
...
to speedup koreader startup for PDF/DJVU documents
especially when reflowing
2014-04-30 23:24:47 +08:00
chrox
c6c4cbcab1
add dewatermark option for pdf/djvu documents
2014-04-07 00:22:47 +08:00
chrox
92219a1f1e
cleanup: expand tab to 4 spaces
2014-03-13 21:52:43 +08:00
chrox
22c437c393
fix init koptcontext with all zero bbox
2014-01-23 19:35:45 +08:00
chrox
d24d5e413e
add following page link in reflowed page
2014-01-21 11:59:17 +08:00
Paulo Matias
dacd3d2acb
Fix crash trying to select text in an empty page
2014-01-19 01:03:28 -02:00
chrox
eaa9535133
move logMemoryUsage from koptinterface to document
2014-01-02 19:19:03 +08:00
chrox
8e4516b824
add regional zoom mode in pdf/djvu page
...
In regional zoom mode double tap will zoom to the tapped
region(paragraph or column, etc., detected optically via libk2pdfopt).
As the first demo, this feature is only turned on in flipping mode by
tapping the top-left corner of the screen. Eventually we may incorporate
this feature in "free" zoom mode.
2014-01-02 11:14:26 +08:00
chrox
62e12ddfba
import document module on-demand
2013-12-31 13:12:56 +08:00
chrox
7247a9e3a2
add writing direction option when reflowing
...
This probably will fix #195 .
2013-12-22 19:13:12 +08:00
chrox
2fd66e1fa3
typo fix
2013-12-04 22:17:05 +08:00
chrox
84ad0f2307
fix null export highlight in reflowed mode
2013-11-30 21:17:13 +08:00
chrox
71cb2d3f93
fix looking up wrong word in reflowed page
...
that has a text layer underneath.
For multi-column page reflowing usually fits individual column to
page width and no finner word boxes are available to map reflowed
word box onto native word box. Now the relative position of a reflowed
word center is calculated as portion of the width and height of a larger
block it belongs. This relative position is also considered in
reflow-to-native position transform so that dictionary lookup now works
on multi-column pages in reflowing mode.
This should fix #376 .
2013-11-30 18:18:16 +08:00
chrox
5bf56cbf4c
check position nullity in getTextFromBoxes
2013-10-28 21:49:54 +08:00
chrox
2590cc7ca5
highlight text from scratch instead of reusing rectmaps in reflowing mode
2013-10-25 13:22:49 +08:00
chrox
184a6f5d21
highlight word from scratch instead of reusing rectmaps in reflowing mode
...
Totally revert the OCR in reflowed page to build 545.
And this should fix #309 .
2013-10-24 23:45:09 +08:00
chrox
90d55cbde4
set auto detect word gap in reflowing by default
2013-10-24 23:45:09 +08:00
chrox
4cfdce6105
fix several local calls of Math.round
2013-10-23 22:37:55 +08:00
HW
2154e7e852
Further refactoring
...
This should finish the work to make all globals to local variables.
That allows LuaJIT to properly compile things by interning the
references to the relevant parts (rather than looking up globals
all the time which stops a trace).
2013-10-22 17:11:31 +02:00
HW
ef111b99c6
Refactored to use strictly locals
2013-10-18 22:38:07 +02:00
chrox
9f42289226
use pixels from reflowed page when doing OCR in reflowing mode
...
I hope it will get back OCR accuracy as in build 545.
2013-10-14 23:06:05 +08:00
chrox
2cd5a083ae
fix getAutoBBox failed bug
...
If getAutoBBox is fed with a blank page the returned bbox will be
much smaller than the native page dimensions. The problem is that
in zoom to 'content*' mode document renderer will try to render
the whole page at a zoom level that can cover the screen with the
bbox region of the page. That's if the blank page size is 3000*4000
and the returned autobbox is 300*400, the screen size is 600*800,
then the page will be rendered in 3000*(600/300)*4000*(800/400)
which is so large that the cache manager will not accept.
This patch just check if the returned autobbox is considerablely
much smaller than the native page dimensions. If so it will return
the manual bbox.
This patch should fix #293 . And it's tested with the case provided
by @Markismus in #291 .
2013-10-14 14:21:08 +08:00
chrox
1ee6d5a9c5
add DEBUGBT function to traceback certain location
2013-10-13 21:59:24 +08:00
chrox
39da1251ec
free blitbuffer as soon as tile is kicked out from cache
...
other than waiting for the lazy garbage collector of lua
2013-10-13 15:30:48 +08:00
chrox
4660a3532b
synchronize hightlights in non-/reflowing modes
...
and there is no need to OCR word if we can extract text from
original page in reflowing mode thanks to the rect maps between
normal page and reflowed page.
2013-10-12 23:07:13 +08:00
chrox
ffd31613a5
estimate cache size of koptcontext
...
This should fix #285 .
2013-09-26 14:51:33 +08:00
chrox
f2cf10a015
refactoring koptcontext creation function
2013-09-14 12:56:10 +08:00
chrox
aefb58f5bf
bugfix: fix invalid auto page cropping
2013-07-20 02:51:17 +08:00
chrox
1808c7e5c3
add document language option in config dialog
...
Document language setting is used for better text extraction and OCR.
2013-07-20 02:46:51 +08:00
chrox
2e5d2b9930
add semi-auto bbox option in page crop dialog
2013-07-13 11:18:49 +08:00
chrox
9cb9999865
semi-automatic bbox finding
...
Semi-automatic cropping is implemented with a initial
manual cropping that exclude the obvious decorating line or
the spine part in scanned books and then an automatic cropping
ie. background/foreground pixel detection restricted within
the manual cropping area.
This PR is a candidate for the solution of issue #141 .
2013-07-09 19:15:45 +08:00
Qingping Hou
18122fe067
add defaults.lua
2013-07-01 02:41:33 -04:00
chrox
7c78e83e49
add hightlight/dictionary lookup in scanned pdf/djvu
2013-05-01 23:43:53 +08:00
chrox
cb873ee528
init/free OCR engine when necessary
2013-04-30 13:52:10 +08:00
chrox
1a8bd4ca8c
try to drop cache before OCR
2013-04-27 17:48:59 +08:00
chrox
936dfc6fd1
add text highlight in both reflow and non-reflow mode
2013-04-24 06:59:52 +08:00
chrox
ac548d768c
don't bother to consume background context
...
since now each context is independent and has its own dst bitmap.
2013-04-20 16:12:43 +08:00
chrox
fb05f9a428
add auto page crop
2013-04-14 15:16:42 +08:00
chrox
22b650d0c7
move kopt/cre options into ui/data directory & wrap strings in config options
2013-04-08 22:26:54 +08:00
Qingping Hou
09e1c0af06
add gettext to document modules
2013-04-08 15:38:04 +08:00
chrox
b2c23c6f4f
cleanup: use lowercase option name && better reflow for vertical text
2013-03-19 21:57:30 +08:00
chrox
607c4baf2e
add fine tuning of font size in koptinterface
2013-03-19 21:36:11 +08:00
chrox
ef68ccebfe
add background hinting in koptinterface
2013-03-12 20:26:02 +08:00
chrox
591a27ddfe
log reflow duration for benchmarking
2013-03-11 16:24:27 +08:00
chrox
a2dc5e00a2
bugfix: reset page scroll states when switching reflow on/off
2013-03-10 14:27:42 +08:00
chrox
63e5e7e577
add scroll mode for pdf/djvu reader
2013-03-10 14:23:26 +08:00
chrox
4c1fc6be5c
make larger default page margin
2013-02-25 22:18:31 +08:00
chrox
86a65003d1
set manual cropping if bbox exists
2013-02-25 21:29:41 +08:00
chrox
c5b4d958bb
add reading progress bar at the bottom of ReaderView for pdf/djvu reader
...
And there is also a toggle full screen option to turn on/off the progress bar.
2013-02-24 02:25:57 +08:00
chrox
14bcec4b81
remove arguments of RestoreZoomMode events defined in KoptOptions
...
Now zoom mode restoration is handled by ReaderKoptListener
2013-02-20 19:29:14 +08:00
chrox
9efdefb22f
add gamma correction for pdf/djvu reader
2013-02-20 14:32:51 +08:00
chrox
df7f7714e4
remove default options in KoptOptions and CreOptions
2013-02-20 13:01:52 +08:00
chrox
666bb3d8ae
restore zoom mode when toggling reflow on/off
2013-02-19 19:16:42 +08:00
chrox
c53f866a93
cleanup: use screen size in page hash explicitly
2013-02-12 01:15:19 +08:00
chrox
7af80f63f6
check screen mode in koptinterface
2013-02-11 00:51:55 +08:00
chrox
1f511757c5
bugfix: calculate current config value or arg at runtime
2013-02-10 20:52:44 +08:00
{Qingping,Dave} Hou
85b4d60efc
Merge pull request #735 from chrox/ui-tweaks
...
set menu font size according to screen dpi
2013-02-05 19:40:54 -08:00
chrox
21c972a786
hide DPI dependency in Font module
2013-02-05 18:15:45 +08:00
Qingping Hou
ae6c4bd03a
Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into rotate
...
Conflicts:
frontend/ui/reader/readerconfig.lua
2013-02-04 15:00:17 +08:00
chrox
0ed5d05bc0
hash current bbox explicitly
2013-02-03 22:58:30 +08:00
chrox
4675a220d8
add current bbox in page rendering hash
...
So that changing bbox could take effect on current page.
2013-02-03 21:36:11 +08:00
Qingping Hou
f91c913530
set default_arg for screen_mode option on runtime
2013-02-03 13:17:02 +08:00
Qingping Hou
0dba667937
rename setScreenViewMode to setScreenMode
2013-02-03 13:13:46 +08:00
Qingping Hou
03b73712bc
Merge branch 'new_ui_code' of github.com:hwhw/kindlepdfviewer into rotate
...
Conflicts:
frontend/document/koptinterface.lua
2013-02-03 12:34:55 +08:00
chrox
1be80d15ae
code cleanup
2013-02-03 11:28:50 +08:00
chrox
1c40d127cd
add icon option items in config dialog
2013-02-03 11:26:14 +08:00
chrox
25bcbfa53a
set menu font size according to screen dpi
2013-02-03 05:16:19 +08:00
chrox
a1aa41136c
add manual page crop for pdf/djvu documents
2013-02-03 04:42:59 +08:00
Qingping Hou
2d9534e092
add screen rotate to readerconfig
2013-02-02 17:02:36 +08:00
chrox
563fd50dc3
add toggle switch widget in config option
2013-01-25 23:53:00 +08:00
chrox
494585ce41
rename 'screen rotation' option in koptinterface to 'vertical text'
2013-01-15 19:53:57 +08:00
chrox
6ed1a9012b
show more options
2013-01-15 19:11:16 +08:00
chrox
aa152a8a51
make readerconfig independent of koptoptions
...
So that other readers could reuse readerconfig
2013-01-06 14:01:34 +08:00
chrox
349bcb996e
use koptinterface to reflow text in pdf/djvu readers
2013-01-03 22:33:49 +08:00