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,387 @@
|
|
|
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 "applybox.h"
|
|
22
|
+
#include "control.h"
|
|
23
|
+
#include "tessvars.h"
|
|
24
|
+
#include "tessedit.h"
|
|
25
|
+
#include "baseapi.h"
|
|
26
|
+
#include "pageres.h"
|
|
27
|
+
#include "imgs.h"
|
|
28
|
+
#include "varabled.h"
|
|
29
|
+
#include "tprintf.h"
|
|
30
|
+
#include "tesseractmain.h"
|
|
31
|
+
#include "stderr.h"
|
|
32
|
+
#include "notdll.h"
|
|
33
|
+
#include "mainblk.h"
|
|
34
|
+
#include "output.h"
|
|
35
|
+
#include "globals.h"
|
|
36
|
+
#include "blread.h"
|
|
37
|
+
#include "tfacep.h"
|
|
38
|
+
#include "callnet.h"
|
|
39
|
+
|
|
40
|
+
/*
|
|
41
|
+
** Include automatically generated configuration file if running autoconf
|
|
42
|
+
*/
|
|
43
|
+
#ifdef HAVE_CONFIG_H
|
|
44
|
+
#include "config_auto.h"
|
|
45
|
+
#endif
|
|
46
|
+
// Includes libtiff if HAVE_LIBTIFF is defined
|
|
47
|
+
#ifdef HAVE_LIBTIFF
|
|
48
|
+
#include "tiffio.h"
|
|
49
|
+
#endif
|
|
50
|
+
|
|
51
|
+
#ifdef _TIFFIO_
|
|
52
|
+
void read_tiff_image(TIFF* tif, IMAGE* image);
|
|
53
|
+
#endif
|
|
54
|
+
|
|
55
|
+
#define VARDIR "configs/" /*variables files */
|
|
56
|
+
//config under api
|
|
57
|
+
#define API_CONFIG "configs/api_config"
|
|
58
|
+
#define EXTERN
|
|
59
|
+
|
|
60
|
+
EXTERN BOOL_VAR (tessedit_create_boxfile, FALSE, "Output text with boxes");
|
|
61
|
+
EXTERN BOOL_VAR (tessedit_read_image, TRUE, "Ensure the image is read");
|
|
62
|
+
EXTERN INT_VAR (tessedit_serial_unlv, 0,
|
|
63
|
+
"0->Whole page, 1->serial no adapt, 2->serial with adapt");
|
|
64
|
+
EXTERN INT_VAR (tessedit_page_number, -1,
|
|
65
|
+
"-1 -> All pages, else specifc page to process");
|
|
66
|
+
EXTERN BOOL_VAR (tessedit_write_images, FALSE,
|
|
67
|
+
"Capture the image from the IPE");
|
|
68
|
+
EXTERN BOOL_VAR (tessedit_debug_to_screen, FALSE, "Dont use debug file");
|
|
69
|
+
|
|
70
|
+
extern inT16 XOFFSET;
|
|
71
|
+
extern inT16 YOFFSET;
|
|
72
|
+
extern int NO_BLOCK;
|
|
73
|
+
|
|
74
|
+
const int kMaxIntSize = 22;
|
|
75
|
+
const ERRCODE USAGE = "Usage";
|
|
76
|
+
char szAppName[] = "Tessedit"; //app name
|
|
77
|
+
|
|
78
|
+
void TesseractImage(const char* input_file, IMAGE* image, STRING* text_out) {
|
|
79
|
+
int bytes_per_line = check_legal_image_size(image->get_xsize(),
|
|
80
|
+
image->get_ysize(),
|
|
81
|
+
image->get_bpp());
|
|
82
|
+
if (tessedit_serial_unlv == 0) {
|
|
83
|
+
char* text;
|
|
84
|
+
if (tessedit_create_boxfile)
|
|
85
|
+
text = TessBaseAPI::TesseractRectBoxes(image->get_buffer(),
|
|
86
|
+
image->get_bpp()/8,
|
|
87
|
+
bytes_per_line, 0, 0,
|
|
88
|
+
image->get_xsize(),
|
|
89
|
+
image->get_ysize(),
|
|
90
|
+
image->get_ysize());
|
|
91
|
+
else if (tessedit_write_unlv)
|
|
92
|
+
text = TessBaseAPI::TesseractRectUNLV(image->get_buffer(),
|
|
93
|
+
image->get_bpp()/8,
|
|
94
|
+
bytes_per_line, 0, 0,
|
|
95
|
+
image->get_xsize(),
|
|
96
|
+
image->get_ysize());
|
|
97
|
+
else
|
|
98
|
+
text = TessBaseAPI::TesseractRect(image->get_buffer(), image->get_bpp()/8,
|
|
99
|
+
bytes_per_line, 0, 0,
|
|
100
|
+
image->get_xsize(), image->get_ysize());
|
|
101
|
+
*text_out += text;
|
|
102
|
+
delete [] text;
|
|
103
|
+
} else {
|
|
104
|
+
BLOCK_LIST blocks;
|
|
105
|
+
STRING filename = input_file;
|
|
106
|
+
int len = filename.length();
|
|
107
|
+
if (len > 4 && filename[len - 4] == '.') {
|
|
108
|
+
filename[len - 4] = '\0';
|
|
109
|
+
}
|
|
110
|
+
if (!read_unlv_file(filename, image->get_xsize(), image->get_ysize(),
|
|
111
|
+
&blocks)) {
|
|
112
|
+
fprintf(stderr, "Error: Must have a unlv zone file %s to read!\n",
|
|
113
|
+
filename.string());
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
BLOCK_IT b_it = &blocks;
|
|
117
|
+
for (b_it.mark_cycle_pt(); !b_it.cycled_list(); b_it.forward()) {
|
|
118
|
+
BLOCK* block = b_it.data();
|
|
119
|
+
TBOX box = block->bounding_box();
|
|
120
|
+
char* text = TessBaseAPI::TesseractRectUNLV(image->get_buffer(),
|
|
121
|
+
image->get_bpp()/8,
|
|
122
|
+
bytes_per_line,
|
|
123
|
+
box.left(),
|
|
124
|
+
image->get_ysize() - box.top(),
|
|
125
|
+
box.width(),
|
|
126
|
+
box.height());
|
|
127
|
+
*text_out += text;
|
|
128
|
+
delete [] text;
|
|
129
|
+
if (tessedit_serial_unlv == 1)
|
|
130
|
+
TessBaseAPI::ClearAdaptiveClassifier();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (tessedit_write_images) {
|
|
134
|
+
page_image.write("tessinput.tif");
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**********************************************************************
|
|
139
|
+
* main()
|
|
140
|
+
*
|
|
141
|
+
**********************************************************************/
|
|
142
|
+
|
|
143
|
+
int main(int argc, char **argv) {
|
|
144
|
+
STRING outfile; //output file
|
|
145
|
+
|
|
146
|
+
if (argc < 3) {
|
|
147
|
+
USAGE.error (argv[0], TESSLOG,
|
|
148
|
+
"%s imagename outputbase [-l lang] [configfile [[+|-]varfile]...]\n",
|
|
149
|
+
argv[0]);
|
|
150
|
+
return 1;
|
|
151
|
+
}
|
|
152
|
+
// Find the required language.
|
|
153
|
+
const char* lang = "eng";
|
|
154
|
+
int arg = 3;
|
|
155
|
+
if (argc >= 5 && strcmp(argv[3], "-l") == 0) {
|
|
156
|
+
lang = argv[4];
|
|
157
|
+
arg = 5;
|
|
158
|
+
}
|
|
159
|
+
// Find the basename of the input file.
|
|
160
|
+
STRING infile(argv[1]);
|
|
161
|
+
const char* lastdot = strrchr(argv[1], '.');
|
|
162
|
+
if (lastdot != NULL) {
|
|
163
|
+
infile[lastdot - argv[1]] = '\0';
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (argc == arg)
|
|
167
|
+
TessBaseAPI::InitWithLanguage(argv[0], infile.string(), lang,
|
|
168
|
+
NULL, false, 0, argv + arg);
|
|
169
|
+
else
|
|
170
|
+
TessBaseAPI::InitWithLanguage(argv[0], infile.string(), lang,
|
|
171
|
+
argv[arg], false,
|
|
172
|
+
argc - arg - 1, argv + arg + 1);
|
|
173
|
+
TessBaseAPI::SetInputName(argv[1]);
|
|
174
|
+
|
|
175
|
+
tprintf ("Tesseract Open Source OCR Engine\n");
|
|
176
|
+
|
|
177
|
+
IMAGE image;
|
|
178
|
+
STRING text_out;
|
|
179
|
+
#ifdef _TIFFIO_
|
|
180
|
+
int len = strlen(argv[1]);
|
|
181
|
+
if (len > 3 && strcmp("tif", argv[1] + len - 3) == 0) {
|
|
182
|
+
// Use libtiff to read a tif file so multi-page can be handled.
|
|
183
|
+
// The page number so the tiff file can be closed and reopened.
|
|
184
|
+
int page_number = tessedit_page_number;
|
|
185
|
+
if (page_number < 0)
|
|
186
|
+
page_number = 0;
|
|
187
|
+
TIFF* archive = NULL;
|
|
188
|
+
do {
|
|
189
|
+
// Since libtiff keeps all read images in memory we have to close the
|
|
190
|
+
// file and reopen it for every page, and seek to the appropriate page.
|
|
191
|
+
if (archive != NULL)
|
|
192
|
+
TIFFClose(archive);
|
|
193
|
+
archive = TIFFOpen(argv[1], "r");
|
|
194
|
+
if (archive == NULL) {
|
|
195
|
+
READFAILED.error (argv[0], EXIT, argv[1]);
|
|
196
|
+
return 1;
|
|
197
|
+
}
|
|
198
|
+
if (page_number > 0)
|
|
199
|
+
tprintf("Page %d\n", page_number);
|
|
200
|
+
|
|
201
|
+
// Seek to the appropriate page.
|
|
202
|
+
for (int i = 0; i < page_number; ++i) {
|
|
203
|
+
TIFFReadDirectory(archive);
|
|
204
|
+
}
|
|
205
|
+
char page_str[kMaxIntSize];
|
|
206
|
+
snprintf(page_str, kMaxIntSize - 1, "%d", page_number);
|
|
207
|
+
TessBaseAPI::SetVariable("applybox_page", page_str);
|
|
208
|
+
++page_number;
|
|
209
|
+
// Read the current page into the Tesseract image.
|
|
210
|
+
IMAGE image;
|
|
211
|
+
read_tiff_image(archive, &image);
|
|
212
|
+
|
|
213
|
+
// Run tesseract on the page!
|
|
214
|
+
TesseractImage(argv[1], &image, &text_out);
|
|
215
|
+
// Do this while there are more pages in the tiff file.
|
|
216
|
+
} while (TIFFReadDirectory(archive) &&
|
|
217
|
+
(page_number <= tessedit_page_number || tessedit_page_number < 0));
|
|
218
|
+
TIFFClose(archive);
|
|
219
|
+
} else {
|
|
220
|
+
#endif
|
|
221
|
+
if (image.read_header(argv[1]) < 0)
|
|
222
|
+
READFAILED.error (argv[0], EXIT, argv[1]);
|
|
223
|
+
if (image.read(image.get_ysize ()) < 0) {
|
|
224
|
+
MEMORY_OUT.error(argv[0], EXIT, "Read of image %s",
|
|
225
|
+
argv[1]);
|
|
226
|
+
}
|
|
227
|
+
TesseractImage(argv[1], &image, &text_out);
|
|
228
|
+
#ifdef _TIFFIO_
|
|
229
|
+
}
|
|
230
|
+
#endif
|
|
231
|
+
|
|
232
|
+
outfile = argv[2];
|
|
233
|
+
outfile += ".txt";
|
|
234
|
+
FILE* fp = fopen(outfile.string(), "w");
|
|
235
|
+
if (fp != NULL) {
|
|
236
|
+
fwrite(text_out.string(), 1, text_out.length(), fp);
|
|
237
|
+
fclose(fp);
|
|
238
|
+
}
|
|
239
|
+
TessBaseAPI::End();
|
|
240
|
+
|
|
241
|
+
return 0; //Normal exit
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
int initialized = 0;
|
|
245
|
+
|
|
246
|
+
#ifdef __MSW32__
|
|
247
|
+
/**********************************************************************
|
|
248
|
+
* WinMain
|
|
249
|
+
*
|
|
250
|
+
* Main function for a windows program.
|
|
251
|
+
**********************************************************************/
|
|
252
|
+
|
|
253
|
+
int WINAPI WinMain( //main for windows //command line
|
|
254
|
+
HINSTANCE hInstance,
|
|
255
|
+
HINSTANCE hPrevInstance,
|
|
256
|
+
LPSTR lpszCmdLine,
|
|
257
|
+
int nCmdShow) {
|
|
258
|
+
WNDCLASS wc;
|
|
259
|
+
HWND hwnd;
|
|
260
|
+
MSG msg;
|
|
261
|
+
|
|
262
|
+
char **argv;
|
|
263
|
+
char *argsin[2];
|
|
264
|
+
int argc;
|
|
265
|
+
int exit_code;
|
|
266
|
+
|
|
267
|
+
wc.style = CS_NOCLOSE | CS_OWNDC;
|
|
268
|
+
wc.lpfnWndProc = (WNDPROC) WndProc;
|
|
269
|
+
wc.cbClsExtra = 0;
|
|
270
|
+
wc.cbWndExtra = 0;
|
|
271
|
+
wc.hInstance = hInstance;
|
|
272
|
+
wc.hIcon = NULL; //LoadIcon (NULL, IDI_APPLICATION);
|
|
273
|
+
wc.hCursor = NULL; //LoadCursor (NULL, IDC_ARROW);
|
|
274
|
+
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
|
|
275
|
+
wc.lpszMenuName = NULL;
|
|
276
|
+
wc.lpszClassName = szAppName;
|
|
277
|
+
|
|
278
|
+
RegisterClass(&wc);
|
|
279
|
+
|
|
280
|
+
hwnd = CreateWindow (szAppName, szAppName,
|
|
281
|
+
WS_OVERLAPPEDWINDOW | WS_DISABLED,
|
|
282
|
+
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
|
|
283
|
+
CW_USEDEFAULT, HWND_DESKTOP, NULL, hInstance, NULL);
|
|
284
|
+
|
|
285
|
+
argsin[0] = strdup (szAppName);
|
|
286
|
+
argsin[1] = strdup (lpszCmdLine);
|
|
287
|
+
/*allocate memory for the args. There can never be more than half*/
|
|
288
|
+
/*the total number of characters in the arguments.*/
|
|
289
|
+
argv =
|
|
290
|
+
(char **) malloc (((strlen (argsin[0]) + strlen (argsin[1])) / 2 + 1) *
|
|
291
|
+
sizeof (char *));
|
|
292
|
+
|
|
293
|
+
/*now construct argv as it should be for C.*/
|
|
294
|
+
argc = parse_args (2, argsin, argv);
|
|
295
|
+
|
|
296
|
+
// ShowWindow (hwnd, nCmdShow);
|
|
297
|
+
// UpdateWindow (hwnd);
|
|
298
|
+
|
|
299
|
+
if (initialized) {
|
|
300
|
+
exit_code = main (argc, argv);
|
|
301
|
+
free (argsin[0]);
|
|
302
|
+
free (argsin[1]);
|
|
303
|
+
free(argv);
|
|
304
|
+
return exit_code;
|
|
305
|
+
}
|
|
306
|
+
while (GetMessage (&msg, NULL, 0, 0)) {
|
|
307
|
+
TranslateMessage(&msg);
|
|
308
|
+
DispatchMessage(&msg);
|
|
309
|
+
if (initialized) {
|
|
310
|
+
exit_code = main (argc, argv);
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
else
|
|
314
|
+
exit_code = msg.wParam;
|
|
315
|
+
}
|
|
316
|
+
free (argsin[0]);
|
|
317
|
+
free (argsin[1]);
|
|
318
|
+
free(argv);
|
|
319
|
+
return exit_code;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
/**********************************************************************
|
|
324
|
+
* WndProc
|
|
325
|
+
*
|
|
326
|
+
* Function to respond to messages.
|
|
327
|
+
**********************************************************************/
|
|
328
|
+
|
|
329
|
+
LONG WINAPI WndProc( //message handler
|
|
330
|
+
HWND hwnd, //window with message
|
|
331
|
+
UINT msg, //message typ
|
|
332
|
+
WPARAM wParam,
|
|
333
|
+
LPARAM lParam) {
|
|
334
|
+
HDC hdc;
|
|
335
|
+
|
|
336
|
+
if (msg == WM_CREATE) {
|
|
337
|
+
//
|
|
338
|
+
// Create a rendering context.
|
|
339
|
+
//
|
|
340
|
+
hdc = GetDC (hwnd);
|
|
341
|
+
ReleaseDC(hwnd, hdc);
|
|
342
|
+
initialized = 1;
|
|
343
|
+
return 0;
|
|
344
|
+
}
|
|
345
|
+
return DefWindowProc (hwnd, msg, wParam, lParam);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
/**********************************************************************
|
|
350
|
+
* parse_args
|
|
351
|
+
*
|
|
352
|
+
* Turn a list of args into a new list of args with each separate
|
|
353
|
+
* whitespace spaced string being an arg.
|
|
354
|
+
**********************************************************************/
|
|
355
|
+
|
|
356
|
+
int
|
|
357
|
+
parse_args ( /*refine arg list */
|
|
358
|
+
int argc, /*no of input args */
|
|
359
|
+
char *argv[], /*input args */
|
|
360
|
+
char *arglist[] /*output args */
|
|
361
|
+
) {
|
|
362
|
+
int argcount; /*converted argc */
|
|
363
|
+
char *testchar; /*char in option string */
|
|
364
|
+
int arg; /*current argument */
|
|
365
|
+
|
|
366
|
+
argcount = 0; /*no of options */
|
|
367
|
+
for (arg = 0; arg < argc; arg++) {
|
|
368
|
+
testchar = argv[arg]; /*start of arg */
|
|
369
|
+
do {
|
|
370
|
+
while (*testchar
|
|
371
|
+
&& (*testchar == ' ' || *testchar == '\n'
|
|
372
|
+
|| *testchar == '\t'))
|
|
373
|
+
testchar++; /*skip white space */
|
|
374
|
+
if (*testchar) {
|
|
375
|
+
/*new arg */
|
|
376
|
+
arglist[argcount++] = testchar;
|
|
377
|
+
/*skip to white space */
|
|
378
|
+
for (testchar++; *testchar && *testchar != ' ' && *testchar != '\n' && *testchar != '\t'; testchar++);
|
|
379
|
+
if (*testchar)
|
|
380
|
+
*testchar++ = '\0'; /*turn to separate args */
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
while (*testchar);
|
|
384
|
+
}
|
|
385
|
+
return argcount; /*new number of args */
|
|
386
|
+
}
|
|
387
|
+
#endif
|
|
@@ -0,0 +1,58 @@
|
|
|
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 TESSERACTMAIN_H
|
|
21
|
+
#define TESSERACTMAIN_H
|
|
22
|
+
|
|
23
|
+
#include "varable.h"
|
|
24
|
+
#include "tessclas.h"
|
|
25
|
+
#include "notdll.h"
|
|
26
|
+
#include "tessembedded.h"
|
|
27
|
+
|
|
28
|
+
extern BOOL_VAR_H (tessedit_read_image, TRUE, "Ensure the image is read");
|
|
29
|
+
inT32 api_main( //run from api
|
|
30
|
+
const char *arg0, //program name
|
|
31
|
+
uinT16 lang //language
|
|
32
|
+
);
|
|
33
|
+
inT16 setup_info( //setup dummy engine info
|
|
34
|
+
uinT16 lang, //user language
|
|
35
|
+
const char *name, //of engine
|
|
36
|
+
const char *version //of engine
|
|
37
|
+
);
|
|
38
|
+
inT16 read_image( //read dummy image info
|
|
39
|
+
IMAGE *im_out //output image
|
|
40
|
+
);
|
|
41
|
+
#ifdef __MSW32__
|
|
42
|
+
int WINAPI WinMain( //main for windows //command line
|
|
43
|
+
HINSTANCE hInstance,
|
|
44
|
+
HINSTANCE hPrevInstance,
|
|
45
|
+
LPSTR lpszCmdLine,
|
|
46
|
+
int nCmdShow);
|
|
47
|
+
LONG WINAPI WndProc( //message handler
|
|
48
|
+
HWND hwnd, //window with message
|
|
49
|
+
UINT msg, //message typ
|
|
50
|
+
WPARAM wParam,
|
|
51
|
+
LPARAM lParam);
|
|
52
|
+
int parse_args ( /*refine arg list */
|
|
53
|
+
int argc, /*no of input args */
|
|
54
|
+
char *argv[], /*input args */
|
|
55
|
+
char *arglist[] /*output args */
|
|
56
|
+
);
|
|
57
|
+
#endif
|
|
58
|
+
#endif
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: tessio.h (Formerly tessread.h)
|
|
3
|
+
* Description: Read/write Tesseract format row files.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Wed Oct 09 15:02:46 BST 1991
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1991, 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 TESSIO_H
|
|
21
|
+
#define TESSIO_H
|
|
22
|
+
|
|
23
|
+
#include <stdio.h>
|
|
24
|
+
#include "tessclas.h"
|
|
25
|
+
#include "notdll.h"
|
|
26
|
+
|
|
27
|
+
TEXTROW *get_tess_row_file( //open read & close
|
|
28
|
+
const char *name, //file name
|
|
29
|
+
TPOINT *topright //corner
|
|
30
|
+
);
|
|
31
|
+
TBLOB *get_tess_blob_file( //open read & close
|
|
32
|
+
const char *name, //file name
|
|
33
|
+
TPOINT *topright //corner
|
|
34
|
+
);
|
|
35
|
+
TEXTROW *readrows( //read row file
|
|
36
|
+
int gphfd, /*file to read */
|
|
37
|
+
int count, /*number expected */
|
|
38
|
+
TPOINT *imagesize //size of image
|
|
39
|
+
);
|
|
40
|
+
TWERD *readwords( //read some words
|
|
41
|
+
int gphfd, /*file to read */
|
|
42
|
+
int count, /*number expected */
|
|
43
|
+
TEXTROW *row, /*row it comes from */
|
|
44
|
+
TPOINT *imagesize /*size of image */
|
|
45
|
+
);
|
|
46
|
+
TBLOB *readblobs( //read some blobs
|
|
47
|
+
int gphfd, /*file to read */
|
|
48
|
+
int count, /*number expected */
|
|
49
|
+
TPOINT *imagesize /*size of image */
|
|
50
|
+
);
|
|
51
|
+
char *readratings( //get a string
|
|
52
|
+
int gphfd, /*file to read */
|
|
53
|
+
int ratingspace /*size to read */
|
|
54
|
+
);
|
|
55
|
+
void readoutlines( //read some outlines
|
|
56
|
+
int gphfd, /*file to read */
|
|
57
|
+
TESSLINE **outlines, /*array of ptrs */
|
|
58
|
+
int outlinecount /*no to read */
|
|
59
|
+
);
|
|
60
|
+
int readgph( //read with testing
|
|
61
|
+
int fd, /*file to read */
|
|
62
|
+
void *start, /*buffer to write */
|
|
63
|
+
int size, /*amount to write */
|
|
64
|
+
int checkeof /*give error on eof? */
|
|
65
|
+
);
|
|
66
|
+
void write_row( //write a row
|
|
67
|
+
FILE *name, //file to write
|
|
68
|
+
TEXTROW *row /*row to write */
|
|
69
|
+
);
|
|
70
|
+
void write_error_row( //write special row
|
|
71
|
+
FILE *name, /*file name */
|
|
72
|
+
TEXTROW *row, /*row to write */
|
|
73
|
+
int wordcount /*no of words to go */
|
|
74
|
+
);
|
|
75
|
+
void write_error_blob( //write special blob
|
|
76
|
+
FILE *name, /*file name */
|
|
77
|
+
TBLOB *blob, /*blob to write */
|
|
78
|
+
char *charlist, /*true chars */
|
|
79
|
+
int charcount /*no of true chars */
|
|
80
|
+
);
|
|
81
|
+
void write_error_word( //write special word
|
|
82
|
+
FILE *name, /*file name */
|
|
83
|
+
TWERD *word, /*word to write */
|
|
84
|
+
char *charlist, /*true chars */
|
|
85
|
+
int charcount /*no of true chars */
|
|
86
|
+
);
|
|
87
|
+
void writeblob( //write a blob
|
|
88
|
+
FILE *name, /*file to write */
|
|
89
|
+
TBLOB *blob /*blob to write */
|
|
90
|
+
);
|
|
91
|
+
void serial_outlines( //serialize
|
|
92
|
+
FILE *name, /*file to write to */
|
|
93
|
+
TBLOB *blob, /*current blob */
|
|
94
|
+
register TESSLINE *outline, /*current outline */
|
|
95
|
+
int *outlineno /*current serial no */
|
|
96
|
+
);
|
|
97
|
+
int countloop( //count loopsize
|
|
98
|
+
register BYTEVEC *vector /*vectors to count */
|
|
99
|
+
);
|
|
100
|
+
int outlineserial( //get serial no
|
|
101
|
+
register TESSLINE *outline, /*start of serach */
|
|
102
|
+
register TESSLINE *target, /*outline to find */
|
|
103
|
+
int serial /*serial no so far */
|
|
104
|
+
);
|
|
105
|
+
void writegph( //interface to fwrite
|
|
106
|
+
FILE *name, /*file to write */
|
|
107
|
+
void *start, /*buffer to write */
|
|
108
|
+
int size /*amount to write */
|
|
109
|
+
);
|
|
110
|
+
#endif
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: tessvars.cpp (Formerly tessvars.c)
|
|
3
|
+
* Description: Variables and other globals for tessedit.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Mon Apr 13 13:13:23 BST 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 "tessvars.h"
|
|
22
|
+
|
|
23
|
+
#define EXTERN
|
|
24
|
+
|
|
25
|
+
EXTERN INT_VAR (tessedit_adapt_kludge, 0,
|
|
26
|
+
"Use acceptable result or dangambigs");
|
|
27
|
+
EXTERN BOOL_VAR (interactive_mode, FALSE, "Run interactively?");
|
|
28
|
+
EXTERN BOOL_VAR (edit_variables, FALSE, "Variables Editor Window?");
|
|
29
|
+
// xiaofan EXTERN STRING_VAR(file_type,".bl","Filename extension");
|
|
30
|
+
EXTERN STRING_VAR (file_type, ".tif", "Filename extension");
|
|
31
|
+
INT_VAR (testedit_match_debug, 0, "Integer match debug ctrl");
|
|
32
|
+
EXTERN INT_VAR (tessedit_dangambigs_chop, FALSE,
|
|
33
|
+
"Use DangAmbigs to direct chop");
|
|
34
|
+
EXTERN INT_VAR (tessedit_dangambigs_assoc, FALSE,
|
|
35
|
+
"Use DangAmbigs to direct assoc");
|
|
36
|
+
|
|
37
|
+
EXTERN IMAGE page_image; //image of page
|
|
38
|
+
EXTERN FILE *debug_fp = stderr; //write debug stuff here
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: tessvars.h (Formerly tessvars.h)
|
|
3
|
+
* Description: Variables and other globals for tessedit.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Mon Apr 13 13:13:23 BST 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 TESSVARS_H
|
|
21
|
+
#define TESSVARS_H
|
|
22
|
+
|
|
23
|
+
#include "varable.h"
|
|
24
|
+
#include "img.h"
|
|
25
|
+
#include "tordmain.h"
|
|
26
|
+
#include "notdll.h"
|
|
27
|
+
|
|
28
|
+
extern INT_VAR_H (tessedit_adapt_kludge, 0,
|
|
29
|
+
"Use acceptable result or dangambigs");
|
|
30
|
+
extern BOOL_VAR_H (interactive_mode, FALSE, "Run interactively?");
|
|
31
|
+
extern BOOL_VAR_H (edit_variables, FALSE, "Variables Editor Window?");
|
|
32
|
+
//xiaofan extern STRING_VAR_H(file_type,".bl","Filename extension");
|
|
33
|
+
extern STRING_VAR_H (file_type, ".tif", "Filename extension");
|
|
34
|
+
extern INT_VAR_H (tessedit_truncate_wordchoice_log, 10,
|
|
35
|
+
"Max words to keep in list");
|
|
36
|
+
extern INT_VAR_H (testedit_match_debug, 0, "Integer match debug ctrl");
|
|
37
|
+
extern INT_VAR_H (tessedit_truncate_chopper, 1,
|
|
38
|
+
"Shorten chopper seam search");
|
|
39
|
+
extern INT_VAR_H (tessedit_fix_sideways_chops, 1,
|
|
40
|
+
"Fix sideways chop problem");
|
|
41
|
+
extern INT_VAR_H (tessedit_dangambigs_chop, FALSE,
|
|
42
|
+
"Use DangAmbigs to direct chop");
|
|
43
|
+
extern INT_VAR_H (tessedit_dangambigs_assoc, FALSE,
|
|
44
|
+
"Use DangAmbigs to direct assoc");
|
|
45
|
+
|
|
46
|
+
extern IMAGE page_image; //image of page
|
|
47
|
+
extern FILE *debug_fp; //write debug stuff here
|
|
48
|
+
#endif
|