tesseract_bin 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +23 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/Rakefile +46 -0
- data/VERSION +1 -0
- data/ext/tesseract_bin/extconf.rb +17 -0
- data/lib/tesseract_bin.rb +12 -0
- data/tesseract_bin.gemspec +660 -0
- data/test/helper.rb +18 -0
- data/test/test_tesseract_bin.rb +7 -0
- data/vendor/tesseract-2.04/AUTHORS +8 -0
- data/vendor/tesseract-2.04/COPYING +23 -0
- data/vendor/tesseract-2.04/ChangeLog +71 -0
- data/vendor/tesseract-2.04/INSTALL +229 -0
- data/vendor/tesseract-2.04/Makefile.am +20 -0
- data/vendor/tesseract-2.04/Makefile.in +641 -0
- data/vendor/tesseract-2.04/NEWS +1 -0
- data/vendor/tesseract-2.04/README +138 -0
- data/vendor/tesseract-2.04/ReleaseNotes +213 -0
- data/vendor/tesseract-2.04/StdAfx.cpp +8 -0
- data/vendor/tesseract-2.04/StdAfx.h +24 -0
- data/vendor/tesseract-2.04/ccmain/Makefile.am +63 -0
- data/vendor/tesseract-2.04/ccmain/Makefile.in +735 -0
- data/vendor/tesseract-2.04/ccmain/adaptions.cpp +1082 -0
- data/vendor/tesseract-2.04/ccmain/adaptions.h +109 -0
- data/vendor/tesseract-2.04/ccmain/applybox.cpp +891 -0
- data/vendor/tesseract-2.04/ccmain/applybox.h +73 -0
- data/vendor/tesseract-2.04/ccmain/baseapi.cpp +1105 -0
- data/vendor/tesseract-2.04/ccmain/baseapi.h +256 -0
- data/vendor/tesseract-2.04/ccmain/blobcmp.cpp +76 -0
- data/vendor/tesseract-2.04/ccmain/blobcmp.h +29 -0
- data/vendor/tesseract-2.04/ccmain/callnet.cpp +93 -0
- data/vendor/tesseract-2.04/ccmain/callnet.h +32 -0
- data/vendor/tesseract-2.04/ccmain/charcut.cpp +704 -0
- data/vendor/tesseract-2.04/ccmain/charcut.h +120 -0
- data/vendor/tesseract-2.04/ccmain/charsample.cpp +699 -0
- data/vendor/tesseract-2.04/ccmain/control.cpp +1842 -0
- data/vendor/tesseract-2.04/ccmain/control.h +198 -0
- data/vendor/tesseract-2.04/ccmain/docqual.cpp +1481 -0
- data/vendor/tesseract-2.04/ccmain/docqual.h +155 -0
- data/vendor/tesseract-2.04/ccmain/expandblob.cpp +82 -0
- data/vendor/tesseract-2.04/ccmain/expandblob.h +13 -0
- data/vendor/tesseract-2.04/ccmain/fixspace.cpp +989 -0
- data/vendor/tesseract-2.04/ccmain/fixspace.h +72 -0
- data/vendor/tesseract-2.04/ccmain/fixxht.cpp +825 -0
- data/vendor/tesseract-2.04/ccmain/fixxht.h +93 -0
- data/vendor/tesseract-2.04/ccmain/imgscale.cpp +154 -0
- data/vendor/tesseract-2.04/ccmain/imgscale.h +32 -0
- data/vendor/tesseract-2.04/ccmain/matmatch.cpp +391 -0
- data/vendor/tesseract-2.04/ccmain/matmatch.h +48 -0
- data/vendor/tesseract-2.04/ccmain/output.cpp +1273 -0
- data/vendor/tesseract-2.04/ccmain/output.h +116 -0
- data/vendor/tesseract-2.04/ccmain/pagewalk.cpp +666 -0
- data/vendor/tesseract-2.04/ccmain/pagewalk.h +155 -0
- data/vendor/tesseract-2.04/ccmain/paircmp.cpp +107 -0
- data/vendor/tesseract-2.04/ccmain/paircmp.h +43 -0
- data/vendor/tesseract-2.04/ccmain/pgedit.cpp +1867 -0
- data/vendor/tesseract-2.04/ccmain/pgedit.h +181 -0
- data/vendor/tesseract-2.04/ccmain/reject.cpp +1775 -0
- data/vendor/tesseract-2.04/ccmain/reject.h +181 -0
- data/vendor/tesseract-2.04/ccmain/scaleimg.cpp +366 -0
- data/vendor/tesseract-2.04/ccmain/scaleimg.h +35 -0
- data/vendor/tesseract-2.04/ccmain/tessbox.cpp +375 -0
- data/vendor/tesseract-2.04/ccmain/tessbox.h +110 -0
- data/vendor/tesseract-2.04/ccmain/tessedit.cpp +278 -0
- data/vendor/tesseract-2.04/ccmain/tessedit.h +49 -0
- data/vendor/tesseract-2.04/ccmain/tessembedded.cpp +110 -0
- data/vendor/tesseract-2.04/ccmain/tessembedded.h +38 -0
- data/vendor/tesseract-2.04/ccmain/tesseractfull.cc +37 -0
- data/vendor/tesseract-2.04/ccmain/tesseractmain.cpp +387 -0
- data/vendor/tesseract-2.04/ccmain/tesseractmain.h +58 -0
- data/vendor/tesseract-2.04/ccmain/tessio.h +110 -0
- data/vendor/tesseract-2.04/ccmain/tessvars.cpp +38 -0
- data/vendor/tesseract-2.04/ccmain/tessvars.h +48 -0
- data/vendor/tesseract-2.04/ccmain/tfacep.h +62 -0
- data/vendor/tesseract-2.04/ccmain/tfacepp.cpp +443 -0
- data/vendor/tesseract-2.04/ccmain/tfacepp.h +85 -0
- data/vendor/tesseract-2.04/ccmain/tstruct.cpp +549 -0
- data/vendor/tesseract-2.04/ccmain/tstruct.h +108 -0
- data/vendor/tesseract-2.04/ccmain/varabled.cpp +346 -0
- data/vendor/tesseract-2.04/ccmain/varabled.h +125 -0
- data/vendor/tesseract-2.04/ccmain/werdit.cpp +193 -0
- data/vendor/tesseract-2.04/ccmain/werdit.h +67 -0
- data/vendor/tesseract-2.04/ccstruct/Makefile.am +25 -0
- data/vendor/tesseract-2.04/ccstruct/Makefile.in +650 -0
- data/vendor/tesseract-2.04/ccstruct/blckerr.h +29 -0
- data/vendor/tesseract-2.04/ccstruct/blobbox.cpp +778 -0
- data/vendor/tesseract-2.04/ccstruct/blobbox.h +381 -0
- data/vendor/tesseract-2.04/ccstruct/blobs.cpp +247 -0
- data/vendor/tesseract-2.04/ccstruct/blobs.h +119 -0
- data/vendor/tesseract-2.04/ccstruct/blread.cpp +537 -0
- data/vendor/tesseract-2.04/ccstruct/blread.h +63 -0
- data/vendor/tesseract-2.04/ccstruct/callcpp.cpp +252 -0
- data/vendor/tesseract-2.04/ccstruct/coutln.cpp +650 -0
- data/vendor/tesseract-2.04/ccstruct/coutln.h +186 -0
- data/vendor/tesseract-2.04/ccstruct/crakedge.h +39 -0
- data/vendor/tesseract-2.04/ccstruct/genblob.cpp +133 -0
- data/vendor/tesseract-2.04/ccstruct/genblob.h +52 -0
- data/vendor/tesseract-2.04/ccstruct/hpddef.h +39 -0
- data/vendor/tesseract-2.04/ccstruct/hpdsizes.h +8 -0
- data/vendor/tesseract-2.04/ccstruct/ipoints.h +479 -0
- data/vendor/tesseract-2.04/ccstruct/labls.cpp +188 -0
- data/vendor/tesseract-2.04/ccstruct/labls.h +38 -0
- data/vendor/tesseract-2.04/ccstruct/linlsq.cpp +249 -0
- data/vendor/tesseract-2.04/ccstruct/linlsq.h +102 -0
- data/vendor/tesseract-2.04/ccstruct/lmedsq.cpp +453 -0
- data/vendor/tesseract-2.04/ccstruct/lmedsq.h +84 -0
- data/vendor/tesseract-2.04/ccstruct/mod128.cpp +100 -0
- data/vendor/tesseract-2.04/ccstruct/mod128.h +85 -0
- data/vendor/tesseract-2.04/ccstruct/normalis.cpp +176 -0
- data/vendor/tesseract-2.04/ccstruct/normalis.h +108 -0
- data/vendor/tesseract-2.04/ccstruct/ocrblock.cpp +369 -0
- data/vendor/tesseract-2.04/ccstruct/ocrblock.h +235 -0
- data/vendor/tesseract-2.04/ccstruct/ocrrow.cpp +216 -0
- data/vendor/tesseract-2.04/ccstruct/ocrrow.h +133 -0
- data/vendor/tesseract-2.04/ccstruct/pageblk.cpp +879 -0
- data/vendor/tesseract-2.04/ccstruct/pageblk.h +318 -0
- data/vendor/tesseract-2.04/ccstruct/pageres.cpp +330 -0
- data/vendor/tesseract-2.04/ccstruct/pageres.h +313 -0
- data/vendor/tesseract-2.04/ccstruct/pdblock.cpp +361 -0
- data/vendor/tesseract-2.04/ccstruct/pdblock.h +181 -0
- data/vendor/tesseract-2.04/ccstruct/pdclass.h +54 -0
- data/vendor/tesseract-2.04/ccstruct/points.cpp +102 -0
- data/vendor/tesseract-2.04/ccstruct/points.h +299 -0
- data/vendor/tesseract-2.04/ccstruct/polyaprx.cpp +588 -0
- data/vendor/tesseract-2.04/ccstruct/polyaprx.h +51 -0
- data/vendor/tesseract-2.04/ccstruct/polyblk.cpp +398 -0
- data/vendor/tesseract-2.04/ccstruct/polyblk.h +122 -0
- data/vendor/tesseract-2.04/ccstruct/polyblob.cpp +357 -0
- data/vendor/tesseract-2.04/ccstruct/polyblob.h +102 -0
- data/vendor/tesseract-2.04/ccstruct/polyvert.cpp +23 -0
- data/vendor/tesseract-2.04/ccstruct/polyvert.h +58 -0
- data/vendor/tesseract-2.04/ccstruct/poutline.cpp +441 -0
- data/vendor/tesseract-2.04/ccstruct/poutline.h +125 -0
- data/vendor/tesseract-2.04/ccstruct/quadlsq.cpp +147 -0
- data/vendor/tesseract-2.04/ccstruct/quadlsq.h +67 -0
- data/vendor/tesseract-2.04/ccstruct/quadratc.cpp +21 -0
- data/vendor/tesseract-2.04/ccstruct/quadratc.h +63 -0
- data/vendor/tesseract-2.04/ccstruct/quspline.cpp +382 -0
- data/vendor/tesseract-2.04/ccstruct/quspline.h +113 -0
- data/vendor/tesseract-2.04/ccstruct/ratngs.cpp +372 -0
- data/vendor/tesseract-2.04/ccstruct/ratngs.h +198 -0
- data/vendor/tesseract-2.04/ccstruct/rect.cpp +229 -0
- data/vendor/tesseract-2.04/ccstruct/rect.h +320 -0
- data/vendor/tesseract-2.04/ccstruct/rejctmap.cpp +545 -0
- data/vendor/tesseract-2.04/ccstruct/rejctmap.h +284 -0
- data/vendor/tesseract-2.04/ccstruct/rwpoly.cpp +89 -0
- data/vendor/tesseract-2.04/ccstruct/rwpoly.h +45 -0
- data/vendor/tesseract-2.04/ccstruct/statistc.cpp +905 -0
- data/vendor/tesseract-2.04/ccstruct/statistc.h +135 -0
- data/vendor/tesseract-2.04/ccstruct/stepblob.cpp +296 -0
- data/vendor/tesseract-2.04/ccstruct/stepblob.h +88 -0
- data/vendor/tesseract-2.04/ccstruct/txtregn.cpp +230 -0
- data/vendor/tesseract-2.04/ccstruct/txtregn.h +155 -0
- data/vendor/tesseract-2.04/ccstruct/vecfuncs.cpp +63 -0
- data/vendor/tesseract-2.04/ccstruct/vecfuncs.h +91 -0
- data/vendor/tesseract-2.04/ccstruct/werd.cpp +967 -0
- data/vendor/tesseract-2.04/ccstruct/werd.h +277 -0
- data/vendor/tesseract-2.04/ccutil/Makefile.am +19 -0
- data/vendor/tesseract-2.04/ccutil/Makefile.in +626 -0
- data/vendor/tesseract-2.04/ccutil/basedir.cpp +118 -0
- data/vendor/tesseract-2.04/ccutil/basedir.h +32 -0
- data/vendor/tesseract-2.04/ccutil/bits16.cpp +30 -0
- data/vendor/tesseract-2.04/ccutil/bits16.h +61 -0
- data/vendor/tesseract-2.04/ccutil/boxread.cpp +105 -0
- data/vendor/tesseract-2.04/ccutil/boxread.h +44 -0
- data/vendor/tesseract-2.04/ccutil/clst.cpp +626 -0
- data/vendor/tesseract-2.04/ccutil/clst.h +1085 -0
- data/vendor/tesseract-2.04/ccutil/debugwin.cpp +500 -0
- data/vendor/tesseract-2.04/ccutil/debugwin.h +103 -0
- data/vendor/tesseract-2.04/ccutil/elst.cpp +593 -0
- data/vendor/tesseract-2.04/ccutil/elst.h +1125 -0
- data/vendor/tesseract-2.04/ccutil/elst2.cpp +606 -0
- data/vendor/tesseract-2.04/ccutil/elst2.h +1121 -0
- data/vendor/tesseract-2.04/ccutil/errcode.cpp +104 -0
- data/vendor/tesseract-2.04/ccutil/errcode.h +104 -0
- data/vendor/tesseract-2.04/ccutil/fileerr.h +34 -0
- data/vendor/tesseract-2.04/ccutil/globaloc.cpp +115 -0
- data/vendor/tesseract-2.04/ccutil/globaloc.h +40 -0
- data/vendor/tesseract-2.04/ccutil/hashfn.cpp +57 -0
- data/vendor/tesseract-2.04/ccutil/hashfn.h +30 -0
- data/vendor/tesseract-2.04/ccutil/host.h +180 -0
- data/vendor/tesseract-2.04/ccutil/hosthplb.h +1 -0
- data/vendor/tesseract-2.04/ccutil/lsterr.h +43 -0
- data/vendor/tesseract-2.04/ccutil/mainblk.cpp +126 -0
- data/vendor/tesseract-2.04/ccutil/mainblk.h +39 -0
- data/vendor/tesseract-2.04/ccutil/memblk.cpp +1106 -0
- data/vendor/tesseract-2.04/ccutil/memblk.h +189 -0
- data/vendor/tesseract-2.04/ccutil/memry.cpp +532 -0
- data/vendor/tesseract-2.04/ccutil/memry.h +192 -0
- data/vendor/tesseract-2.04/ccutil/memryerr.h +38 -0
- data/vendor/tesseract-2.04/ccutil/mfcpch.cpp +5 -0
- data/vendor/tesseract-2.04/ccutil/mfcpch.h +37 -0
- data/vendor/tesseract-2.04/ccutil/ndminx.h +31 -0
- data/vendor/tesseract-2.04/ccutil/notdll.h +28 -0
- data/vendor/tesseract-2.04/ccutil/nwmain.h +176 -0
- data/vendor/tesseract-2.04/ccutil/ocrclass.h +345 -0
- data/vendor/tesseract-2.04/ccutil/ocrshell.cpp +772 -0
- data/vendor/tesseract-2.04/ccutil/ocrshell.h +191 -0
- data/vendor/tesseract-2.04/ccutil/platform.h +18 -0
- data/vendor/tesseract-2.04/ccutil/scanutils.cpp +543 -0
- data/vendor/tesseract-2.04/ccutil/scanutils.h +55 -0
- data/vendor/tesseract-2.04/ccutil/secname.h +9 -0
- data/vendor/tesseract-2.04/ccutil/serialis.cpp +117 -0
- data/vendor/tesseract-2.04/ccutil/serialis.h +93 -0
- data/vendor/tesseract-2.04/ccutil/stderr.h +26 -0
- data/vendor/tesseract-2.04/ccutil/strngs.cpp +495 -0
- data/vendor/tesseract-2.04/ccutil/strngs.h +138 -0
- data/vendor/tesseract-2.04/ccutil/tessclas.h +135 -0
- data/vendor/tesseract-2.04/ccutil/tessopt.cpp +61 -0
- data/vendor/tesseract-2.04/ccutil/tessopt.h +30 -0
- data/vendor/tesseract-2.04/ccutil/tprintf.cpp +122 -0
- data/vendor/tesseract-2.04/ccutil/tprintf.h +35 -0
- data/vendor/tesseract-2.04/ccutil/unichar.cpp +144 -0
- data/vendor/tesseract-2.04/ccutil/unichar.h +84 -0
- data/vendor/tesseract-2.04/ccutil/unicharmap.cpp +172 -0
- data/vendor/tesseract-2.04/ccutil/unicharmap.h +82 -0
- data/vendor/tesseract-2.04/ccutil/unicharset.cpp +307 -0
- data/vendor/tesseract-2.04/ccutil/unicharset.h +267 -0
- data/vendor/tesseract-2.04/ccutil/varable.cpp +672 -0
- data/vendor/tesseract-2.04/ccutil/varable.h +419 -0
- data/vendor/tesseract-2.04/classify/Makefile.am +24 -0
- data/vendor/tesseract-2.04/classify/Makefile.in +647 -0
- data/vendor/tesseract-2.04/classify/adaptive.cpp +535 -0
- data/vendor/tesseract-2.04/classify/adaptive.h +199 -0
- data/vendor/tesseract-2.04/classify/adaptmatch.cpp +2958 -0
- data/vendor/tesseract-2.04/classify/adaptmatch.h +86 -0
- data/vendor/tesseract-2.04/classify/baseline.cpp +58 -0
- data/vendor/tesseract-2.04/classify/baseline.h +91 -0
- data/vendor/tesseract-2.04/classify/blobclass.cpp +123 -0
- data/vendor/tesseract-2.04/classify/blobclass.h +49 -0
- data/vendor/tesseract-2.04/classify/chartoname.cpp +74 -0
- data/vendor/tesseract-2.04/classify/chartoname.h +21 -0
- data/vendor/tesseract-2.04/classify/cluster.cpp +2834 -0
- data/vendor/tesseract-2.04/classify/cluster.h +158 -0
- data/vendor/tesseract-2.04/classify/clusttool.cpp +507 -0
- data/vendor/tesseract-2.04/classify/clusttool.h +70 -0
- data/vendor/tesseract-2.04/classify/cutoffs.cpp +73 -0
- data/vendor/tesseract-2.04/classify/cutoffs.h +49 -0
- data/vendor/tesseract-2.04/classify/extern.h +32 -0
- data/vendor/tesseract-2.04/classify/extract.cpp +100 -0
- data/vendor/tesseract-2.04/classify/extract.h +36 -0
- data/vendor/tesseract-2.04/classify/featdefs.cpp +244 -0
- data/vendor/tesseract-2.04/classify/featdefs.h +71 -0
- data/vendor/tesseract-2.04/classify/flexfx.cpp +87 -0
- data/vendor/tesseract-2.04/classify/flexfx.h +34 -0
- data/vendor/tesseract-2.04/classify/float2int.cpp +126 -0
- data/vendor/tesseract-2.04/classify/float2int.h +65 -0
- data/vendor/tesseract-2.04/classify/fpoint.cpp +73 -0
- data/vendor/tesseract-2.04/classify/fpoint.h +63 -0
- data/vendor/tesseract-2.04/classify/fxdefs.cpp +74 -0
- data/vendor/tesseract-2.04/classify/fxdefs.h +93 -0
- data/vendor/tesseract-2.04/classify/fxid.h +69 -0
- data/vendor/tesseract-2.04/classify/hideedge.cpp +35 -0
- data/vendor/tesseract-2.04/classify/hideedge.h +76 -0
- data/vendor/tesseract-2.04/classify/intfx.cpp +608 -0
- data/vendor/tesseract-2.04/classify/intfx.h +63 -0
- data/vendor/tesseract-2.04/classify/intmatcher.cpp +1524 -0
- data/vendor/tesseract-2.04/classify/intmatcher.h +199 -0
- data/vendor/tesseract-2.04/classify/intproto.cpp +1823 -0
- data/vendor/tesseract-2.04/classify/intproto.h +320 -0
- data/vendor/tesseract-2.04/classify/kdtree.cpp +884 -0
- data/vendor/tesseract-2.04/classify/kdtree.h +118 -0
- data/vendor/tesseract-2.04/classify/mf.cpp +106 -0
- data/vendor/tesseract-2.04/classify/mf.h +43 -0
- data/vendor/tesseract-2.04/classify/mfdefs.cpp +58 -0
- data/vendor/tesseract-2.04/classify/mfdefs.h +60 -0
- data/vendor/tesseract-2.04/classify/mfoutline.cpp +1087 -0
- data/vendor/tesseract-2.04/classify/mfoutline.h +277 -0
- data/vendor/tesseract-2.04/classify/mfx.cpp +436 -0
- data/vendor/tesseract-2.04/classify/mfx.h +52 -0
- data/vendor/tesseract-2.04/classify/normfeat.cpp +132 -0
- data/vendor/tesseract-2.04/classify/normfeat.h +63 -0
- data/vendor/tesseract-2.04/classify/normmatch.cpp +305 -0
- data/vendor/tesseract-2.04/classify/normmatch.h +38 -0
- data/vendor/tesseract-2.04/classify/ocrfeatures.cpp +310 -0
- data/vendor/tesseract-2.04/classify/ocrfeatures.h +148 -0
- data/vendor/tesseract-2.04/classify/outfeat.cpp +262 -0
- data/vendor/tesseract-2.04/classify/outfeat.h +76 -0
- data/vendor/tesseract-2.04/classify/picofeat.cpp +297 -0
- data/vendor/tesseract-2.04/classify/picofeat.h +65 -0
- data/vendor/tesseract-2.04/classify/protos.cpp +472 -0
- data/vendor/tesseract-2.04/classify/protos.h +258 -0
- data/vendor/tesseract-2.04/classify/sigmenu.cpp +225 -0
- data/vendor/tesseract-2.04/classify/sigmenu.h +39 -0
- data/vendor/tesseract-2.04/classify/speckle.cpp +127 -0
- data/vendor/tesseract-2.04/classify/speckle.h +69 -0
- data/vendor/tesseract-2.04/classify/xform2d.cpp +120 -0
- data/vendor/tesseract-2.04/classify/xform2d.h +60 -0
- data/vendor/tesseract-2.04/config/config.guess +1466 -0
- data/vendor/tesseract-2.04/config/config.h.in +188 -0
- data/vendor/tesseract-2.04/config/config.sub +1579 -0
- data/vendor/tesseract-2.04/config/depcomp +530 -0
- data/vendor/tesseract-2.04/config/install-sh +269 -0
- data/vendor/tesseract-2.04/config/missing +198 -0
- data/vendor/tesseract-2.04/config/mkinstalldirs +40 -0
- data/vendor/tesseract-2.04/config/stamp-h.in +0 -0
- data/vendor/tesseract-2.04/configure +10424 -0
- data/vendor/tesseract-2.04/cutil/Makefile.am +14 -0
- data/vendor/tesseract-2.04/cutil/Makefile.in +612 -0
- data/vendor/tesseract-2.04/cutil/bitvec.cpp +115 -0
- data/vendor/tesseract-2.04/cutil/bitvec.h +100 -0
- data/vendor/tesseract-2.04/cutil/callcpp.h +190 -0
- data/vendor/tesseract-2.04/cutil/const.h +108 -0
- data/vendor/tesseract-2.04/cutil/cutil.cpp +92 -0
- data/vendor/tesseract-2.04/cutil/cutil.h +159 -0
- data/vendor/tesseract-2.04/cutil/danerror.cpp +144 -0
- data/vendor/tesseract-2.04/cutil/danerror.h +41 -0
- data/vendor/tesseract-2.04/cutil/debug.cpp +97 -0
- data/vendor/tesseract-2.04/cutil/debug.h +348 -0
- data/vendor/tesseract-2.04/cutil/efio.cpp +62 -0
- data/vendor/tesseract-2.04/cutil/efio.h +32 -0
- data/vendor/tesseract-2.04/cutil/emalloc.cpp +91 -0
- data/vendor/tesseract-2.04/cutil/emalloc.h +44 -0
- data/vendor/tesseract-2.04/cutil/freelist.cpp +75 -0
- data/vendor/tesseract-2.04/cutil/freelist.h +45 -0
- data/vendor/tesseract-2.04/cutil/funcdefs.h +35 -0
- data/vendor/tesseract-2.04/cutil/general.h +33 -0
- data/vendor/tesseract-2.04/cutil/globals.cpp +69 -0
- data/vendor/tesseract-2.04/cutil/globals.h +70 -0
- data/vendor/tesseract-2.04/cutil/listio.cpp +68 -0
- data/vendor/tesseract-2.04/cutil/listio.h +43 -0
- data/vendor/tesseract-2.04/cutil/minmax.h +40 -0
- data/vendor/tesseract-2.04/cutil/oldheap.cpp +337 -0
- data/vendor/tesseract-2.04/cutil/oldheap.h +126 -0
- data/vendor/tesseract-2.04/cutil/oldlist.cpp +393 -0
- data/vendor/tesseract-2.04/cutil/oldlist.h +350 -0
- data/vendor/tesseract-2.04/cutil/structures.cpp +66 -0
- data/vendor/tesseract-2.04/cutil/structures.h +112 -0
- data/vendor/tesseract-2.04/cutil/tessarray.cpp +115 -0
- data/vendor/tesseract-2.04/cutil/tessarray.h +166 -0
- data/vendor/tesseract-2.04/cutil/tordvars.cpp +95 -0
- data/vendor/tesseract-2.04/cutil/tordvars.h +61 -0
- data/vendor/tesseract-2.04/cutil/variables.cpp +317 -0
- data/vendor/tesseract-2.04/cutil/variables.h +170 -0
- data/vendor/tesseract-2.04/dict/Makefile.am +13 -0
- data/vendor/tesseract-2.04/dict/Makefile.in +609 -0
- data/vendor/tesseract-2.04/dict/choicearr.h +96 -0
- data/vendor/tesseract-2.04/dict/choices.cpp +210 -0
- data/vendor/tesseract-2.04/dict/choices.h +241 -0
- data/vendor/tesseract-2.04/dict/context.cpp +270 -0
- data/vendor/tesseract-2.04/dict/context.h +82 -0
- data/vendor/tesseract-2.04/dict/dawg.cpp +363 -0
- data/vendor/tesseract-2.04/dict/dawg.h +394 -0
- data/vendor/tesseract-2.04/dict/hyphen.cpp +84 -0
- data/vendor/tesseract-2.04/dict/hyphen.h +125 -0
- data/vendor/tesseract-2.04/dict/lookdawg.cpp +228 -0
- data/vendor/tesseract-2.04/dict/lookdawg.h +76 -0
- data/vendor/tesseract-2.04/dict/makedawg.cpp +449 -0
- data/vendor/tesseract-2.04/dict/makedawg.h +83 -0
- data/vendor/tesseract-2.04/dict/matchdefs.h +145 -0
- data/vendor/tesseract-2.04/dict/permdawg.cpp +415 -0
- data/vendor/tesseract-2.04/dict/permdawg.h +98 -0
- data/vendor/tesseract-2.04/dict/permngram.cpp +358 -0
- data/vendor/tesseract-2.04/dict/permngram.h +33 -0
- data/vendor/tesseract-2.04/dict/permnum.cpp +522 -0
- data/vendor/tesseract-2.04/dict/permnum.h +83 -0
- data/vendor/tesseract-2.04/dict/permute.cpp +1704 -0
- data/vendor/tesseract-2.04/dict/permute.h +93 -0
- data/vendor/tesseract-2.04/dict/reduce.cpp +424 -0
- data/vendor/tesseract-2.04/dict/reduce.h +112 -0
- data/vendor/tesseract-2.04/dict/states.cpp +382 -0
- data/vendor/tesseract-2.04/dict/states.h +111 -0
- data/vendor/tesseract-2.04/dict/stopper.cpp +1458 -0
- data/vendor/tesseract-2.04/dict/stopper.h +103 -0
- data/vendor/tesseract-2.04/dict/trie.cpp +683 -0
- data/vendor/tesseract-2.04/dict/trie.h +190 -0
- data/vendor/tesseract-2.04/dlltest/Makefile.am +2 -0
- data/vendor/tesseract-2.04/dlltest/Makefile.in +388 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.cpp +163 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.dsp +186 -0
- data/vendor/tesseract-2.04/dlltest/dlltest.vcproj +637 -0
- data/vendor/tesseract-2.04/eurotext.tif +0 -0
- data/vendor/tesseract-2.04/image/Makefile.am +10 -0
- data/vendor/tesseract-2.04/image/Makefile.in +596 -0
- data/vendor/tesseract-2.04/image/bitstrm.cpp +157 -0
- data/vendor/tesseract-2.04/image/bitstrm.h +73 -0
- data/vendor/tesseract-2.04/image/img.h +336 -0
- data/vendor/tesseract-2.04/image/imgbmp.cpp +223 -0
- data/vendor/tesseract-2.04/image/imgbmp.h +50 -0
- data/vendor/tesseract-2.04/image/imgerrs.h +35 -0
- data/vendor/tesseract-2.04/image/imgio.cpp +321 -0
- data/vendor/tesseract-2.04/image/imgio.h +22 -0
- data/vendor/tesseract-2.04/image/imgs.cpp +1764 -0
- data/vendor/tesseract-2.04/image/imgs.h +102 -0
- data/vendor/tesseract-2.04/image/imgtiff.cpp +723 -0
- data/vendor/tesseract-2.04/image/imgtiff.h +89 -0
- data/vendor/tesseract-2.04/image/imgunpk.h +1377 -0
- data/vendor/tesseract-2.04/image/svshowim.cpp +40 -0
- data/vendor/tesseract-2.04/image/svshowim.h +25 -0
- data/vendor/tesseract-2.04/java/Makefile.am +4 -0
- data/vendor/tesseract-2.04/java/Makefile.in +473 -0
- data/vendor/tesseract-2.04/java/com/Makefile.am +1 -0
- data/vendor/tesseract-2.04/java/com/Makefile.in +470 -0
- data/vendor/tesseract-2.04/java/com/google/Makefile.am +1 -0
- data/vendor/tesseract-2.04/java/com/google/Makefile.in +470 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/Makefile.am +4 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/Makefile.in +473 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ScrollView.java +421 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/Makefile.am +5 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/Makefile.in +474 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEvent.java +87 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEventHandler.java +296 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/events/SVEventType.java +31 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/Makefile.am +7 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/Makefile.in +476 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVAbstractMenuItem.java +58 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVCheckboxMenuItem.java +60 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVEmptyMenuItem.java +48 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVImageHandler.java +228 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVMenuBar.java +130 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVMenuItem.java +61 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVPopupMenu.java +142 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVSubMenuItem.java +41 -0
- data/vendor/tesseract-2.04/java/com/google/scrollview/ui/SVWindow.java +643 -0
- data/vendor/tesseract-2.04/java/makefile +55 -0
- data/vendor/tesseract-2.04/pageseg/Makefile.am +13 -0
- data/vendor/tesseract-2.04/pageseg/Makefile.in +596 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg.cpp +363 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg.h +90 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg_interface.cpp +82 -0
- data/vendor/tesseract-2.04/pageseg/leptonica_pageseg_interface.h +30 -0
- data/vendor/tesseract-2.04/pageseg/pageseg.cpp +170 -0
- data/vendor/tesseract-2.04/pageseg/pageseg.h +29 -0
- data/vendor/tesseract-2.04/phototest.tif +0 -0
- data/vendor/tesseract-2.04/tessdata/Makefile.am +31 -0
- data/vendor/tesseract-2.04/tessdata/Makefile.in +529 -0
- data/vendor/tesseract-2.04/tessdata/configs/Makefile.am +3 -0
- data/vendor/tesseract-2.04/tessdata/configs/Makefile.in +344 -0
- data/vendor/tesseract-2.04/tessdata/configs/api_config +1 -0
- data/vendor/tesseract-2.04/tessdata/configs/box.train +19 -0
- data/vendor/tesseract-2.04/tessdata/configs/box.train.stderr +18 -0
- data/vendor/tesseract-2.04/tessdata/configs/inter +4 -0
- data/vendor/tesseract-2.04/tessdata/configs/kannada +4 -0
- data/vendor/tesseract-2.04/tessdata/configs/makebox +1 -0
- data/vendor/tesseract-2.04/tessdata/configs/unlv +3 -0
- data/vendor/tesseract-2.04/tessdata/confsets +3 -0
- data/vendor/tesseract-2.04/tessdata/eng.DangAmbigs +39 -0
- data/vendor/tesseract-2.04/tessdata/eng.freq-dawg +0 -0
- data/vendor/tesseract-2.04/tessdata/eng.inttemp +0 -0
- data/vendor/tesseract-2.04/tessdata/eng.normproto +1247 -0
- data/vendor/tesseract-2.04/tessdata/eng.pffmtable +111 -0
- data/vendor/tesseract-2.04/tessdata/eng.unicharset +113 -0
- data/vendor/tesseract-2.04/tessdata/eng.user-words +921 -0
- data/vendor/tesseract-2.04/tessdata/eng.word-dawg +0 -0
- data/vendor/tesseract-2.04/tessdata/makedummies +8 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/Makefile.am +3 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/Makefile.in +344 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/batch +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/batch.nochop +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/matdemo +7 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/msdemo +13 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/nobatch +2 -0
- data/vendor/tesseract-2.04/tessdata/tessconfigs/segdemo +9 -0
- data/vendor/tesseract-2.04/tessdll.cpp +351 -0
- data/vendor/tesseract-2.04/tessdll.dsp +2050 -0
- data/vendor/tesseract-2.04/tessdll.h +143 -0
- data/vendor/tesseract-2.04/tessdll.vcproj +5495 -0
- data/vendor/tesseract-2.04/tesseract.dsp +2124 -0
- data/vendor/tesseract-2.04/tesseract.dsw +116 -0
- data/vendor/tesseract-2.04/tesseract.sln +59 -0
- data/vendor/tesseract-2.04/tesseract.spec +188 -0
- data/vendor/tesseract-2.04/tesseract.vcproj +5859 -0
- data/vendor/tesseract-2.04/testing/Makefile.am +2 -0
- data/vendor/tesseract-2.04/testing/Makefile.in +312 -0
- data/vendor/tesseract-2.04/testing/README +43 -0
- data/vendor/tesseract-2.04/testing/counttestset.sh +61 -0
- data/vendor/tesseract-2.04/testing/reorgdata.sh +44 -0
- data/vendor/tesseract-2.04/testing/reports/1995.bus.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.doe3.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.mag.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/1995.news.3B.sum +1 -0
- data/vendor/tesseract-2.04/testing/reports/2.03.summary +9 -0
- data/vendor/tesseract-2.04/testing/reports/2.04.summary +9 -0
- data/vendor/tesseract-2.04/testing/runalltests.sh +110 -0
- data/vendor/tesseract-2.04/testing/runtestset.sh +61 -0
- data/vendor/tesseract-2.04/textord/Makefile.am +20 -0
- data/vendor/tesseract-2.04/textord/Makefile.in +624 -0
- data/vendor/tesseract-2.04/textord/blkocc.cpp +809 -0
- data/vendor/tesseract-2.04/textord/blkocc.h +327 -0
- data/vendor/tesseract-2.04/textord/blobcmpl.h +31 -0
- data/vendor/tesseract-2.04/textord/drawedg.cpp +77 -0
- data/vendor/tesseract-2.04/textord/drawedg.h +34 -0
- data/vendor/tesseract-2.04/textord/drawtord.cpp +469 -0
- data/vendor/tesseract-2.04/textord/drawtord.h +107 -0
- data/vendor/tesseract-2.04/textord/edgblob.cpp +412 -0
- data/vendor/tesseract-2.04/textord/edgblob.h +100 -0
- data/vendor/tesseract-2.04/textord/edgloop.cpp +211 -0
- data/vendor/tesseract-2.04/textord/edgloop.h +66 -0
- data/vendor/tesseract-2.04/textord/fpchop.cpp +1641 -0
- data/vendor/tesseract-2.04/textord/fpchop.h +238 -0
- data/vendor/tesseract-2.04/textord/gap_map.cpp +166 -0
- data/vendor/tesseract-2.04/textord/gap_map.h +40 -0
- data/vendor/tesseract-2.04/textord/makerow.cpp +2628 -0
- data/vendor/tesseract-2.04/textord/makerow.h +295 -0
- data/vendor/tesseract-2.04/textord/oldbasel.cpp +1761 -0
- data/vendor/tesseract-2.04/textord/oldbasel.h +195 -0
- data/vendor/tesseract-2.04/textord/pithsync.cpp +696 -0
- data/vendor/tesseract-2.04/textord/pithsync.h +134 -0
- data/vendor/tesseract-2.04/textord/pitsync1.cpp +425 -0
- data/vendor/tesseract-2.04/textord/pitsync1.h +135 -0
- data/vendor/tesseract-2.04/textord/scanedg.cpp +452 -0
- data/vendor/tesseract-2.04/textord/scanedg.h +74 -0
- data/vendor/tesseract-2.04/textord/sortflts.cpp +80 -0
- data/vendor/tesseract-2.04/textord/sortflts.h +64 -0
- data/vendor/tesseract-2.04/textord/tessout.h +76 -0
- data/vendor/tesseract-2.04/textord/topitch.cpp +2019 -0
- data/vendor/tesseract-2.04/textord/topitch.h +195 -0
- data/vendor/tesseract-2.04/textord/tordmain.cpp +907 -0
- data/vendor/tesseract-2.04/textord/tordmain.h +132 -0
- data/vendor/tesseract-2.04/textord/tospace.cpp +1939 -0
- data/vendor/tesseract-2.04/textord/tospace.h +193 -0
- data/vendor/tesseract-2.04/textord/tovars.cpp +87 -0
- data/vendor/tesseract-2.04/textord/tovars.h +94 -0
- data/vendor/tesseract-2.04/textord/underlin.cpp +312 -0
- data/vendor/tesseract-2.04/textord/underlin.h +53 -0
- data/vendor/tesseract-2.04/textord/wordseg.cpp +620 -0
- data/vendor/tesseract-2.04/textord/wordseg.h +70 -0
- data/vendor/tesseract-2.04/training/Makefile.am +54 -0
- data/vendor/tesseract-2.04/training/Makefile.in +720 -0
- data/vendor/tesseract-2.04/training/cnTraining.cpp +855 -0
- data/vendor/tesseract-2.04/training/cntraining.dsp +243 -0
- data/vendor/tesseract-2.04/training/cntraining.vcproj +950 -0
- data/vendor/tesseract-2.04/training/mergenf.cpp +451 -0
- data/vendor/tesseract-2.04/training/mergenf.h +106 -0
- data/vendor/tesseract-2.04/training/mfTraining.cpp +1341 -0
- data/vendor/tesseract-2.04/training/mftraining.dsp +285 -0
- data/vendor/tesseract-2.04/training/mftraining.vcproj +1055 -0
- data/vendor/tesseract-2.04/training/name2char.cpp +166 -0
- data/vendor/tesseract-2.04/training/name2char.h +38 -0
- data/vendor/tesseract-2.04/training/training.cpp +190 -0
- data/vendor/tesseract-2.04/training/training.h +130 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.cpp +140 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.dsp +335 -0
- data/vendor/tesseract-2.04/training/unicharset_extractor.vcproj +769 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.cpp +69 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.dsp +319 -0
- data/vendor/tesseract-2.04/training/wordlist2dawg.vcproj +1113 -0
- data/vendor/tesseract-2.04/viewer/Makefile.am +9 -0
- data/vendor/tesseract-2.04/viewer/Makefile.in +591 -0
- data/vendor/tesseract-2.04/viewer/scrollview.cpp +825 -0
- data/vendor/tesseract-2.04/viewer/scrollview.h +414 -0
- data/vendor/tesseract-2.04/viewer/svmnode.cpp +140 -0
- data/vendor/tesseract-2.04/viewer/svmnode.h +94 -0
- data/vendor/tesseract-2.04/viewer/svpaint.cpp +220 -0
- data/vendor/tesseract-2.04/viewer/svutil.cpp +347 -0
- data/vendor/tesseract-2.04/viewer/svutil.h +138 -0
- data/vendor/tesseract-2.04/wordrec/Makefile.am +23 -0
- data/vendor/tesseract-2.04/wordrec/Makefile.in +641 -0
- data/vendor/tesseract-2.04/wordrec/associate.cpp +62 -0
- data/vendor/tesseract-2.04/wordrec/associate.h +93 -0
- data/vendor/tesseract-2.04/wordrec/badwords.cpp +106 -0
- data/vendor/tesseract-2.04/wordrec/badwords.h +51 -0
- data/vendor/tesseract-2.04/wordrec/bestfirst.cpp +526 -0
- data/vendor/tesseract-2.04/wordrec/bestfirst.h +203 -0
- data/vendor/tesseract-2.04/wordrec/charsample.h +208 -0
- data/vendor/tesseract-2.04/wordrec/chop.cpp +458 -0
- data/vendor/tesseract-2.04/wordrec/chop.h +153 -0
- data/vendor/tesseract-2.04/wordrec/chopper.cpp +750 -0
- data/vendor/tesseract-2.04/wordrec/chopper.h +104 -0
- data/vendor/tesseract-2.04/wordrec/closed.cpp +136 -0
- data/vendor/tesseract-2.04/wordrec/closed.h +65 -0
- data/vendor/tesseract-2.04/wordrec/djmenus.cpp +118 -0
- data/vendor/tesseract-2.04/wordrec/djmenus.h +33 -0
- data/vendor/tesseract-2.04/wordrec/drawfx.cpp +92 -0
- data/vendor/tesseract-2.04/wordrec/drawfx.h +33 -0
- data/vendor/tesseract-2.04/wordrec/findseam.cpp +566 -0
- data/vendor/tesseract-2.04/wordrec/findseam.h +69 -0
- data/vendor/tesseract-2.04/wordrec/gradechop.cpp +226 -0
- data/vendor/tesseract-2.04/wordrec/gradechop.h +91 -0
- data/vendor/tesseract-2.04/wordrec/heuristic.cpp +194 -0
- data/vendor/tesseract-2.04/wordrec/heuristic.h +120 -0
- data/vendor/tesseract-2.04/wordrec/makechop.cpp +281 -0
- data/vendor/tesseract-2.04/wordrec/makechop.h +69 -0
- data/vendor/tesseract-2.04/wordrec/matchtab.cpp +191 -0
- data/vendor/tesseract-2.04/wordrec/matchtab.h +45 -0
- data/vendor/tesseract-2.04/wordrec/matrix.cpp +118 -0
- data/vendor/tesseract-2.04/wordrec/matrix.h +104 -0
- data/vendor/tesseract-2.04/wordrec/measure.h +135 -0
- data/vendor/tesseract-2.04/wordrec/metrics.cpp +363 -0
- data/vendor/tesseract-2.04/wordrec/metrics.h +130 -0
- data/vendor/tesseract-2.04/wordrec/mfvars.cpp +51 -0
- data/vendor/tesseract-2.04/wordrec/mfvars.h +27 -0
- data/vendor/tesseract-2.04/wordrec/msmenus.cpp +110 -0
- data/vendor/tesseract-2.04/wordrec/msmenus.h +45 -0
- data/vendor/tesseract-2.04/wordrec/olutil.cpp +153 -0
- data/vendor/tesseract-2.04/wordrec/olutil.h +128 -0
- data/vendor/tesseract-2.04/wordrec/outlines.cpp +172 -0
- data/vendor/tesseract-2.04/wordrec/outlines.h +148 -0
- data/vendor/tesseract-2.04/wordrec/pieces.cpp +410 -0
- data/vendor/tesseract-2.04/wordrec/pieces.h +154 -0
- data/vendor/tesseract-2.04/wordrec/plotedges.cpp +134 -0
- data/vendor/tesseract-2.04/wordrec/plotedges.h +71 -0
- data/vendor/tesseract-2.04/wordrec/plotseg.cpp +116 -0
- data/vendor/tesseract-2.04/wordrec/plotseg.h +73 -0
- data/vendor/tesseract-2.04/wordrec/render.cpp +152 -0
- data/vendor/tesseract-2.04/wordrec/render.h +58 -0
- data/vendor/tesseract-2.04/wordrec/seam.cpp +482 -0
- data/vendor/tesseract-2.04/wordrec/seam.h +136 -0
- data/vendor/tesseract-2.04/wordrec/split.cpp +182 -0
- data/vendor/tesseract-2.04/wordrec/split.h +115 -0
- data/vendor/tesseract-2.04/wordrec/tally.cpp +68 -0
- data/vendor/tesseract-2.04/wordrec/tally.h +94 -0
- data/vendor/tesseract-2.04/wordrec/tessinit.cpp +108 -0
- data/vendor/tesseract-2.04/wordrec/tessinit.h +46 -0
- data/vendor/tesseract-2.04/wordrec/tface.cpp +272 -0
- data/vendor/tesseract-2.04/wordrec/tface.h +35 -0
- data/vendor/tesseract-2.04/wordrec/wordclass.cpp +284 -0
- data/vendor/tesseract-2.04/wordrec/wordclass.h +64 -0
- metadata +708 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: tessedit.cpp (Formerly tessedit.c)
|
|
3
|
+
* Description: Main program for merge of tess and editor.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Tue Jan 07 15:21:46 GMT 1992
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1992, Hewlett-Packard Ltd.
|
|
8
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
** you may not use this file except in compliance with the License.
|
|
10
|
+
** You may obtain a copy of the License at
|
|
11
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
** See the License for the specific language governing permissions and
|
|
16
|
+
** limitations under the License.
|
|
17
|
+
*
|
|
18
|
+
**********************************************************************/
|
|
19
|
+
|
|
20
|
+
#include "mfcpch.h"
|
|
21
|
+
//#include <osfcn.h>
|
|
22
|
+
//#include <signal.h>
|
|
23
|
+
//#include <time.h>
|
|
24
|
+
//#include <unistd.h>
|
|
25
|
+
#include "tfacep.h" //must be before main.h
|
|
26
|
+
//#include "fileerr.h"
|
|
27
|
+
#include "stderr.h"
|
|
28
|
+
#include "basedir.h"
|
|
29
|
+
#include "tessvars.h"
|
|
30
|
+
//#include "debgwin.h"
|
|
31
|
+
//#include "epapdest.h"
|
|
32
|
+
#include "control.h"
|
|
33
|
+
#include "imgs.h"
|
|
34
|
+
#include "reject.h"
|
|
35
|
+
#include "pageres.h"
|
|
36
|
+
//#include "gpapdest.h"
|
|
37
|
+
#include "mainblk.h"
|
|
38
|
+
#include "nwmain.h"
|
|
39
|
+
#include "pgedit.h"
|
|
40
|
+
#include "ocrshell.h"
|
|
41
|
+
#include "tprintf.h"
|
|
42
|
+
//#include "ipeerr.h"
|
|
43
|
+
//#include "restart.h"
|
|
44
|
+
#include "tessedit.h"
|
|
45
|
+
//#include "fontfind.h"
|
|
46
|
+
#include "permute.h"
|
|
47
|
+
#include "permdawg.h"
|
|
48
|
+
#include "permnum.h"
|
|
49
|
+
#include "stopper.h"
|
|
50
|
+
#include "adaptmatch.h"
|
|
51
|
+
#include "intmatcher.h"
|
|
52
|
+
#include "chop.h"
|
|
53
|
+
#include "efio.h"
|
|
54
|
+
#include "danerror.h"
|
|
55
|
+
#include "globals.h"
|
|
56
|
+
|
|
57
|
+
/*
|
|
58
|
+
** Include automatically generated configuration file if running autoconf
|
|
59
|
+
*/
|
|
60
|
+
#ifdef HAVE_CONFIG_H
|
|
61
|
+
#include "config_auto.h"
|
|
62
|
+
#endif
|
|
63
|
+
// Includes libtiff if HAVE_LIBTIFF is defined
|
|
64
|
+
#ifdef HAVE_LIBTIFF
|
|
65
|
+
#include "tiffio.h"
|
|
66
|
+
|
|
67
|
+
#endif
|
|
68
|
+
|
|
69
|
+
//extern "C" {
|
|
70
|
+
#include "callnet.h" //phils nn stuff
|
|
71
|
+
//}
|
|
72
|
+
#include "notdll.h" //phils nn stuff
|
|
73
|
+
|
|
74
|
+
#define VARDIR "configs/" /*variables files */
|
|
75
|
+
//config under api
|
|
76
|
+
#define API_CONFIG "configs/api_config"
|
|
77
|
+
#define EXTERN
|
|
78
|
+
|
|
79
|
+
EXTERN STRING_VAR (tessedit_char_blacklist, "",
|
|
80
|
+
"Blacklist of chars not to recognize");
|
|
81
|
+
EXTERN STRING_VAR (tessedit_char_whitelist, "",
|
|
82
|
+
"Whitelist of chars to recognize");
|
|
83
|
+
EXTERN BOOL_EVAR (tessedit_write_vars, FALSE, "Write all vars to file");
|
|
84
|
+
EXTERN BOOL_VAR (tessedit_tweaking_tess_vars, FALSE,
|
|
85
|
+
"Fiddle tess config values");
|
|
86
|
+
|
|
87
|
+
EXTERN double_VAR (tweak_garbage, 1.5, "Tess VAR");
|
|
88
|
+
EXTERN double_VAR (tweak_ok_word, 1.25, "Tess VAR");
|
|
89
|
+
EXTERN double_VAR (tweak_good_word, 1.1, "Tess VAR");
|
|
90
|
+
EXTERN double_VAR (tweak_freq_word, 1.0, "Tess VAR");
|
|
91
|
+
EXTERN double_VAR (tweak_ok_number, 1.4, "Tess VAR");
|
|
92
|
+
EXTERN double_VAR (tweak_good_number, 1.1, "Tess VAR");
|
|
93
|
+
EXTERN double_VAR (tweak_non_word, 1.25, "Tess VAR");
|
|
94
|
+
EXTERN double_VAR (tweak_CertaintyPerChar, -0.5, "Tess VAR");
|
|
95
|
+
EXTERN double_VAR (tweak_NonDictCertainty, -2.5, "Tess VAR");
|
|
96
|
+
EXTERN double_VAR (tweak_RejectCertaintyOffset, 1.0, "Tess VAR");
|
|
97
|
+
EXTERN double_VAR (tweak_GoodAdaptiveMatch, 0.125, "Tess VAR");
|
|
98
|
+
EXTERN double_VAR (tweak_GreatAdaptiveMatch, 0.10, "Tess VAR");
|
|
99
|
+
EXTERN INT_VAR (tweak_ReliableConfigThreshold, 2, "Tess VAR");
|
|
100
|
+
EXTERN INT_VAR (tweak_AdaptProtoThresh, 230, "Tess VAR");
|
|
101
|
+
EXTERN INT_VAR (tweak_AdaptFeatureThresh, 230, "Tess VAR");
|
|
102
|
+
EXTERN INT_VAR (tweak_min_outline_points, 6, "Tess VAR");
|
|
103
|
+
EXTERN INT_VAR (tweak_min_outline_area, 2000, "Tess VAR");
|
|
104
|
+
EXTERN double_VAR (tweak_good_split, 50.0, "Tess VAR");
|
|
105
|
+
EXTERN double_VAR (tweak_ok_split, 100.0, "Tess VAR");
|
|
106
|
+
|
|
107
|
+
extern inT16 XOFFSET;
|
|
108
|
+
extern inT16 YOFFSET;
|
|
109
|
+
extern int NO_BLOCK;
|
|
110
|
+
|
|
111
|
+
//progress monitor
|
|
112
|
+
ETEXT_DESC *global_monitor = NULL;
|
|
113
|
+
|
|
114
|
+
void init_tesseract_lang_data(const char *arg0,
|
|
115
|
+
const char *textbase,
|
|
116
|
+
const char *language,
|
|
117
|
+
const char *configfile,
|
|
118
|
+
int configc,
|
|
119
|
+
const char *const *configv) {
|
|
120
|
+
FILE *var_file;
|
|
121
|
+
static char c_path[MAX_PATH]; //path for c code
|
|
122
|
+
|
|
123
|
+
// Set the basename, compute the data directory and read C++ configs.
|
|
124
|
+
main_setup(arg0, textbase, configc, configv);
|
|
125
|
+
debug_window_on.set_value (FALSE);
|
|
126
|
+
|
|
127
|
+
if (tessedit_write_vars) {
|
|
128
|
+
var_file = fopen ("edited.cfg", "w");
|
|
129
|
+
if (var_file != NULL) {
|
|
130
|
+
print_variables(var_file);
|
|
131
|
+
fclose(var_file);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
strcpy (c_path, datadir.string ());
|
|
135
|
+
c_path[strlen (c_path) - strlen (m_data_sub_dir.string ())] = '\0';
|
|
136
|
+
demodir = c_path;
|
|
137
|
+
|
|
138
|
+
// Set the language data path prefix
|
|
139
|
+
language_data_path_prefix = datadir;
|
|
140
|
+
if (language != NULL)
|
|
141
|
+
language_data_path_prefix += language;
|
|
142
|
+
else
|
|
143
|
+
language_data_path_prefix += "eng";
|
|
144
|
+
language_data_path_prefix += ".";
|
|
145
|
+
|
|
146
|
+
// Load the unichar set
|
|
147
|
+
STRING unicharpath = language_data_path_prefix;
|
|
148
|
+
unicharpath += "unicharset";
|
|
149
|
+
if (!unicharset.load_from_file(unicharpath.string())) {
|
|
150
|
+
cprintf("Unable to load unicharset file %s\n", unicharpath.string());
|
|
151
|
+
exit(1);
|
|
152
|
+
}
|
|
153
|
+
if (unicharset.size() > MAX_NUM_CLASSES) {
|
|
154
|
+
cprintf("Error: Size of unicharset is greater than MAX_NUM_CLASSES\n");
|
|
155
|
+
exit(1);
|
|
156
|
+
}
|
|
157
|
+
// Set the white and blacklists (if any)
|
|
158
|
+
unicharset.set_black_and_whitelist(tessedit_char_blacklist.string(),
|
|
159
|
+
tessedit_char_whitelist.string());
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
int init_tesseract(const char *arg0,
|
|
163
|
+
const char *textbase,
|
|
164
|
+
const char *language,
|
|
165
|
+
const char *configfile,
|
|
166
|
+
int configc,
|
|
167
|
+
const char *const *configv) {
|
|
168
|
+
init_tesseract_lang_data (arg0, textbase, language,
|
|
169
|
+
configfile, configc, configv);
|
|
170
|
+
|
|
171
|
+
start_recog(configfile, textbase);
|
|
172
|
+
|
|
173
|
+
set_tess_tweak_vars();
|
|
174
|
+
|
|
175
|
+
if (tessedit_use_nn) //phils nn stuff
|
|
176
|
+
init_net();
|
|
177
|
+
return 0; //Normal exit
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// init the LM component
|
|
181
|
+
int init_tesseract_lm(const char *arg0,
|
|
182
|
+
const char *textbase,
|
|
183
|
+
const char *language,
|
|
184
|
+
const char *configfile,
|
|
185
|
+
int configc,
|
|
186
|
+
const char *const *configv) {
|
|
187
|
+
init_tesseract_lang_data (arg0, textbase, language,
|
|
188
|
+
configfile, configc, configv);
|
|
189
|
+
|
|
190
|
+
init_permute();
|
|
191
|
+
|
|
192
|
+
return 0; //Normal exit
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
void end_tesseract() {
|
|
196
|
+
end_recog();
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
#ifdef _TIFFIO_
|
|
200
|
+
void read_tiff_image(TIFF* tif, IMAGE* image) {
|
|
201
|
+
tdata_t buf;
|
|
202
|
+
uint32 image_width, image_height;
|
|
203
|
+
uint16 photometric;
|
|
204
|
+
inT16 bpp;
|
|
205
|
+
inT16 samples_per_pixel = 0;
|
|
206
|
+
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &image_width);
|
|
207
|
+
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &image_height);
|
|
208
|
+
TIFFGetField(tif, TIFFTAG_BITSPERSAMPLE, &bpp);
|
|
209
|
+
TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &samples_per_pixel);
|
|
210
|
+
TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &photometric);
|
|
211
|
+
if (samples_per_pixel > 1)
|
|
212
|
+
bpp *= samples_per_pixel;
|
|
213
|
+
// Tesseract's internal representation is 0-is-black,
|
|
214
|
+
// so if the photometric is 1 (min is black) then high-valued pixels
|
|
215
|
+
// are 1 (white), otherwise they are 0 (black).
|
|
216
|
+
uinT8 high_value = photometric == 1;
|
|
217
|
+
image->create(image_width, image_height, bpp);
|
|
218
|
+
IMAGELINE line;
|
|
219
|
+
line.init(image_width);
|
|
220
|
+
|
|
221
|
+
buf = _TIFFmalloc(TIFFScanlineSize(tif));
|
|
222
|
+
int bytes_per_line = (image_width*bpp + 7)/8;
|
|
223
|
+
uinT8* dest_buf = image->get_buffer();
|
|
224
|
+
// This will go badly wrong with one of the more exotic tiff formats,
|
|
225
|
+
// but the majority will work OK.
|
|
226
|
+
for (int y = 0; y < image_height; ++y) {
|
|
227
|
+
TIFFReadScanline(tif, buf, y);
|
|
228
|
+
memcpy(dest_buf, buf, bytes_per_line);
|
|
229
|
+
dest_buf += bytes_per_line;
|
|
230
|
+
}
|
|
231
|
+
if (high_value == 0)
|
|
232
|
+
invert_image(image);
|
|
233
|
+
_TIFFfree(buf);
|
|
234
|
+
}
|
|
235
|
+
#endif
|
|
236
|
+
|
|
237
|
+
/* Define command type identifiers */
|
|
238
|
+
|
|
239
|
+
enum CMD_EVENTS
|
|
240
|
+
{
|
|
241
|
+
ACTION_1_CMD_EVENT,
|
|
242
|
+
RECOG_WERDS,
|
|
243
|
+
RECOG_PSEUDO,
|
|
244
|
+
ACTION_2_CMD_EVENT
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
/*************************************************************************
|
|
249
|
+
* set_tess_tweak_vars()
|
|
250
|
+
* Set TESS vars from the tweek value - This is only really of use during search
|
|
251
|
+
* of the space of tess configs - othertimes the default values are set
|
|
252
|
+
*
|
|
253
|
+
*************************************************************************/
|
|
254
|
+
void set_tess_tweak_vars() {
|
|
255
|
+
if (tessedit_tweaking_tess_vars) {
|
|
256
|
+
garbage = tweak_garbage;
|
|
257
|
+
ok_word = tweak_ok_word;
|
|
258
|
+
good_word = tweak_good_word;
|
|
259
|
+
freq_word = tweak_freq_word;
|
|
260
|
+
ok_number = tweak_ok_number;
|
|
261
|
+
good_number = tweak_good_number;
|
|
262
|
+
non_word = tweak_non_word;
|
|
263
|
+
CertaintyPerChar = tweak_CertaintyPerChar;
|
|
264
|
+
NonDictCertainty = tweak_NonDictCertainty;
|
|
265
|
+
RejectCertaintyOffset = tweak_RejectCertaintyOffset;
|
|
266
|
+
GoodAdaptiveMatch = tweak_GoodAdaptiveMatch;
|
|
267
|
+
GreatAdaptiveMatch = tweak_GreatAdaptiveMatch;
|
|
268
|
+
ReliableConfigThreshold = tweak_ReliableConfigThreshold;
|
|
269
|
+
AdaptProtoThresh = tweak_AdaptProtoThresh;
|
|
270
|
+
AdaptFeatureThresh = tweak_AdaptFeatureThresh;
|
|
271
|
+
min_outline_points = tweak_min_outline_points;
|
|
272
|
+
min_outline_area = tweak_min_outline_area;
|
|
273
|
+
good_split = tweak_good_split;
|
|
274
|
+
ok_split = tweak_ok_split;
|
|
275
|
+
}
|
|
276
|
+
// if (expiry_day * 24 * 60 * 60 < time(NULL))
|
|
277
|
+
// err_exit();
|
|
278
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: tessedit.h (Formerly tessedit.h)
|
|
3
|
+
* Description: Main program for merge of tess and editor.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Tue Jan 07 15:21:46 GMT 1992
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1992, Hewlett-Packard Ltd.
|
|
8
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
** you may not use this file except in compliance with the License.
|
|
10
|
+
** You may obtain a copy of the License at
|
|
11
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
** See the License for the specific language governing permissions and
|
|
16
|
+
** limitations under the License.
|
|
17
|
+
*
|
|
18
|
+
**********************************************************************/
|
|
19
|
+
|
|
20
|
+
#ifndef TESSEDIT_H
|
|
21
|
+
#define TESSEDIT_H
|
|
22
|
+
|
|
23
|
+
#include "tessclas.h"
|
|
24
|
+
#include "ocrclass.h"
|
|
25
|
+
#include "pgedit.h"
|
|
26
|
+
#include "notdll.h"
|
|
27
|
+
|
|
28
|
+
//progress monitor
|
|
29
|
+
extern ETEXT_DESC *global_monitor;
|
|
30
|
+
|
|
31
|
+
int init_tesseract(const char *arg0,
|
|
32
|
+
const char *textbase,
|
|
33
|
+
const char *language,
|
|
34
|
+
const char *configfile,
|
|
35
|
+
int configc,
|
|
36
|
+
const char *const *configv);
|
|
37
|
+
|
|
38
|
+
int init_tesseract_lm(const char *arg0,
|
|
39
|
+
const char *textbase,
|
|
40
|
+
const char *language,
|
|
41
|
+
const char *configfile,
|
|
42
|
+
int configc,
|
|
43
|
+
const char *const *configv);
|
|
44
|
+
|
|
45
|
+
void recognize_page(STRING& image_name);
|
|
46
|
+
void end_tesseract();
|
|
47
|
+
|
|
48
|
+
void set_tess_tweak_vars();
|
|
49
|
+
#endif
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: tessembedded.cpp
|
|
3
|
+
* Description: Main program for merge of tess and editor.
|
|
4
|
+
* Author: Marius Renn
|
|
5
|
+
* Created: Sun Oct 21 2006
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1992, Hewlett-Packard Ltd.
|
|
8
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
** you may not use this file except in compliance with the License.
|
|
10
|
+
** You may obtain a copy of the License at
|
|
11
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
** See the License for the specific language governing permissions and
|
|
16
|
+
** limitations under the License.
|
|
17
|
+
*
|
|
18
|
+
**********************************************************************/
|
|
19
|
+
|
|
20
|
+
#include "mfcpch.h"
|
|
21
|
+
#include "applybox.h"
|
|
22
|
+
#include "control.h"
|
|
23
|
+
#include "tessvars.h"
|
|
24
|
+
#include "tessedit.h"
|
|
25
|
+
#include "pageres.h"
|
|
26
|
+
#include "imgs.h"
|
|
27
|
+
#include "varabled.h"
|
|
28
|
+
#include "tprintf.h"
|
|
29
|
+
#include "tessembedded.h"
|
|
30
|
+
#include "stderr.h"
|
|
31
|
+
#include "notdll.h"
|
|
32
|
+
#include "mainblk.h"
|
|
33
|
+
#include "globals.h"
|
|
34
|
+
#include "tfacep.h"
|
|
35
|
+
#include "callnet.h"
|
|
36
|
+
|
|
37
|
+
void tessembedded_read_file(STRING &name,
|
|
38
|
+
BLOCK_LIST *blocks) {
|
|
39
|
+
int c; //input character
|
|
40
|
+
FILE *infp; //input file
|
|
41
|
+
BLOCK_IT block_it(blocks); //iterator
|
|
42
|
+
BLOCK *block; //current block
|
|
43
|
+
|
|
44
|
+
ICOORD page_tr; //topright of page
|
|
45
|
+
|
|
46
|
+
char *filename_extension;
|
|
47
|
+
|
|
48
|
+
block_it.move_to_last ();
|
|
49
|
+
|
|
50
|
+
// ptr to last dot
|
|
51
|
+
filename_extension = strrchr (name.string (), '.');
|
|
52
|
+
#ifdef __UNIX__
|
|
53
|
+
if (strcmp (filename_extension, ".pb") == 0) {
|
|
54
|
+
tprintf ("Converting from .pb file format.\n");
|
|
55
|
+
//construct blocks
|
|
56
|
+
read_and_textord (name.string (), blocks);
|
|
57
|
+
}
|
|
58
|
+
else
|
|
59
|
+
#endif
|
|
60
|
+
//xiaofan, a hack here
|
|
61
|
+
if (strcmp (filename_extension, ".tif") == 0) {
|
|
62
|
+
// tprintf( "Interpreting .bl file format.\n" );
|
|
63
|
+
//construct blocks
|
|
64
|
+
edges_and_textord (name.string (), blocks);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
if ((strcmp (filename_extension, ".pg") == 0) ||
|
|
68
|
+
// read a .pg file
|
|
69
|
+
// or a .sp file
|
|
70
|
+
(strcmp (filename_extension, ".sp") == 0)) {
|
|
71
|
+
tprintf ("Reading %s file format.\n", filename_extension);
|
|
72
|
+
infp = fopen (name.string (), "r");
|
|
73
|
+
if (infp == NULL)
|
|
74
|
+
CANTOPENFILE.error ("pgeditor_read_file", EXIT, name.string ());
|
|
75
|
+
//can't open file
|
|
76
|
+
|
|
77
|
+
while (((c = fgetc (infp)) != EOF) && (ungetc (c, infp) != EOF)) {
|
|
78
|
+
//get one
|
|
79
|
+
block = BLOCK::de_serialise (infp);
|
|
80
|
+
//add to list
|
|
81
|
+
block_it.add_after_then_move (block);
|
|
82
|
+
}
|
|
83
|
+
fclose(infp);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
int init_tessembedded(const char *arg0,
|
|
89
|
+
const char *textbase,
|
|
90
|
+
const char *configfile,
|
|
91
|
+
int configc,
|
|
92
|
+
const char *const *configv) {
|
|
93
|
+
main_setup(arg0, textbase, configc, configv);
|
|
94
|
+
|
|
95
|
+
debug_window_on.set_value (FALSE);
|
|
96
|
+
|
|
97
|
+
static char c_path[MAX_PATH]; //path for c code
|
|
98
|
+
strcpy (c_path, datadir.string ());
|
|
99
|
+
c_path[strlen (c_path) - strlen (m_data_sub_dir.string ())] = '\0';
|
|
100
|
+
demodir = c_path;
|
|
101
|
+
start_recog(configfile, textbase);
|
|
102
|
+
|
|
103
|
+
init_net();
|
|
104
|
+
|
|
105
|
+
return 0;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
void end_tessembedded() {
|
|
109
|
+
end_recog();
|
|
110
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: tessembedded.h
|
|
3
|
+
* Description: Access to initialization functions in embedded environment
|
|
4
|
+
* Author: Marius Renn
|
|
5
|
+
* Created: Sun Oct 21
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1992, Hewlett-Packard Ltd.
|
|
8
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
** you may not use this file except in compliance with the License.
|
|
10
|
+
** You may obtain a copy of the License at
|
|
11
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
** See the License for the specific language governing permissions and
|
|
16
|
+
** limitations under the License.
|
|
17
|
+
*
|
|
18
|
+
**********************************************************************/
|
|
19
|
+
|
|
20
|
+
#ifndef TESSEMBEDDED_H
|
|
21
|
+
#define TESSEMBEDDED_H
|
|
22
|
+
|
|
23
|
+
#include "ocrblock.h"
|
|
24
|
+
#include "varable.h"
|
|
25
|
+
#include "notdll.h"
|
|
26
|
+
|
|
27
|
+
int init_tessembedded(const char *arg0,
|
|
28
|
+
const char *textbase,
|
|
29
|
+
const char *configfile,
|
|
30
|
+
int configc,
|
|
31
|
+
const char *const *configv);
|
|
32
|
+
|
|
33
|
+
void tessembedded_read_file(STRING &name,
|
|
34
|
+
BLOCK_LIST *blocks);
|
|
35
|
+
|
|
36
|
+
void end_tessembedded();
|
|
37
|
+
|
|
38
|
+
#endif
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: tesseractfull.cc
|
|
3
|
+
* Description: Test function to link tesseractfull.a.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Tue Jul 17 16:23:46 PDT 2007
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 2007 Google Inc.
|
|
8
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
** you may not use this file except in compliance with the License.
|
|
10
|
+
** You may obtain a copy of the License at
|
|
11
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
** See the License for the specific language governing permissions and
|
|
16
|
+
** limitations under the License.
|
|
17
|
+
*
|
|
18
|
+
**********************************************************************/
|
|
19
|
+
|
|
20
|
+
#include "baseapi.h"
|
|
21
|
+
#ifndef NULL
|
|
22
|
+
#define NULL 0L
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
char* run_tesseract(const char* language,
|
|
26
|
+
const unsigned char* imagedata,
|
|
27
|
+
int bytes_per_pixel,
|
|
28
|
+
int bytes_per_line,
|
|
29
|
+
int width, int height) {
|
|
30
|
+
TessBaseAPI::InitWithLanguage(NULL, NULL, language, NULL, false, 0, NULL);
|
|
31
|
+
char* text = TessBaseAPI::TesseractRect(imagedata, bytes_per_pixel,
|
|
32
|
+
bytes_per_line, 0, 0,
|
|
33
|
+
width, height);
|
|
34
|
+
TessBaseAPI::End();
|
|
35
|
+
|
|
36
|
+
return text; //Normal exit
|
|
37
|
+
}
|