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,115 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: bitvec.c
|
|
3
|
+
** Purpose: Routines for manipulating bit vectors
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: Thu Mar 15 10:37:27 1990, DSJ, Created.
|
|
6
|
+
**
|
|
7
|
+
** (c) Copyright Hewlett-Packard Company, 1988.
|
|
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 Files and Type Defines
|
|
21
|
+
----------------------------------------------------------------------------**/
|
|
22
|
+
#include "bitvec.h"
|
|
23
|
+
|
|
24
|
+
#include <stdio.h>
|
|
25
|
+
|
|
26
|
+
#include "emalloc.h"
|
|
27
|
+
#include "freelist.h"
|
|
28
|
+
#include "tprintf.h"
|
|
29
|
+
|
|
30
|
+
/**----------------------------------------------------------------------------
|
|
31
|
+
Global Data Definitions and Declarations
|
|
32
|
+
----------------------------------------------------------------------------**/
|
|
33
|
+
static int BitVectorCount = 0;
|
|
34
|
+
|
|
35
|
+
/**----------------------------------------------------------------------------
|
|
36
|
+
Public Code
|
|
37
|
+
----------------------------------------------------------------------------**/
|
|
38
|
+
/*---------------------------------------------------------------------------*/
|
|
39
|
+
BIT_VECTOR ExpandBitVector(BIT_VECTOR Vector, int NewNumBits) {
|
|
40
|
+
/*
|
|
41
|
+
** Parameters:
|
|
42
|
+
** Vector bit vector to be expanded
|
|
43
|
+
** NewNumBits new size of bit vector
|
|
44
|
+
** Globals: none
|
|
45
|
+
** Operation: This routine uses realloc to increase the size of
|
|
46
|
+
** the specified bit vector.
|
|
47
|
+
** Return: New expanded bit vector.
|
|
48
|
+
** Exceptions: none
|
|
49
|
+
** History: Fri Nov 16 10:11:16 1990, DSJ, Created.
|
|
50
|
+
*/
|
|
51
|
+
return ((BIT_VECTOR) Erealloc(Vector,
|
|
52
|
+
sizeof(Vector[0]) * WordsInVectorOfSize(NewNumBits)));
|
|
53
|
+
} /* ExpandBitVector */
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
/*---------------------------------------------------------------------------*/
|
|
57
|
+
void FreeBitVector(BIT_VECTOR BitVector) {
|
|
58
|
+
/*
|
|
59
|
+
** Parameters:
|
|
60
|
+
** BitVector bit vector to be freed
|
|
61
|
+
** Globals:
|
|
62
|
+
** BitVectorCount count of number of bit vectors allocated
|
|
63
|
+
** Operation: This routine frees a bit vector. It also decrements
|
|
64
|
+
** the global counter that keeps track of the number of
|
|
65
|
+
** bit vectors allocated. If BitVector is NULL, then
|
|
66
|
+
** the count is printed to stderr.
|
|
67
|
+
** Return: none
|
|
68
|
+
** Exceptions: none
|
|
69
|
+
** History: Tue Oct 23 16:46:09 1990, DSJ, Created.
|
|
70
|
+
*/
|
|
71
|
+
if (BitVector) {
|
|
72
|
+
Efree(BitVector);
|
|
73
|
+
BitVectorCount--;
|
|
74
|
+
} else {
|
|
75
|
+
tprintf("%6d BITVECTOR elements in use\n", BitVectorCount);
|
|
76
|
+
}
|
|
77
|
+
} /* FreeBitVector */
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
/*hamming_distance(array1,array2,length) computes the hamming distance
|
|
81
|
+
between two bit strings */
|
|
82
|
+
/*--------------------------------------------------------------------------*/
|
|
83
|
+
int hamming_distance(uinT32* array1, uinT32* array2, int length) {
|
|
84
|
+
register uinT32 diff; /*bit difference */
|
|
85
|
+
register int dist; /*total distance */
|
|
86
|
+
|
|
87
|
+
dist = 0;
|
|
88
|
+
for (; length > 0; length--) {
|
|
89
|
+
diff = *array1++ ^ *array2++;/*different bits */
|
|
90
|
+
while (diff) {
|
|
91
|
+
diff &= diff - 1; /*lose a bit */
|
|
92
|
+
dist++;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return dist; /*total distance */
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
/*---------------------------------------------------------------------------*/
|
|
100
|
+
BIT_VECTOR NewBitVector(int NumBits) {
|
|
101
|
+
/*
|
|
102
|
+
** Parameters:
|
|
103
|
+
** NumBits number of bits in new bit vector
|
|
104
|
+
** Globals:
|
|
105
|
+
** BitVectorCount number of bit vectors allocated
|
|
106
|
+
** Operation: Allocate and return a new bit vector large enough to
|
|
107
|
+
** hold the specified number of bits.
|
|
108
|
+
** Return: New bit vector.
|
|
109
|
+
** Exceptions: none
|
|
110
|
+
** History: Tue Oct 23 16:51:27 1990, DSJ, Created.
|
|
111
|
+
*/
|
|
112
|
+
BitVectorCount++;
|
|
113
|
+
return ((BIT_VECTOR) Emalloc(sizeof(uinT32) *
|
|
114
|
+
WordsInVectorOfSize(NumBits)));
|
|
115
|
+
} /* NewBitVector */
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/******************************************************************************
|
|
2
|
+
** Filename: bitvec.h
|
|
3
|
+
** Purpose: Routines for manipulating bit vectors
|
|
4
|
+
** Author: Dan Johnson
|
|
5
|
+
** History: Wed Mar 7 17:52:45 1990, DSJ, Created.
|
|
6
|
+
**
|
|
7
|
+
** (c) Copyright Hewlett-Packard Company, 1988.
|
|
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
|
+
#ifndef BITVEC_H
|
|
19
|
+
#define BITVEC_H
|
|
20
|
+
|
|
21
|
+
#include "host.h"
|
|
22
|
+
|
|
23
|
+
/**----------------------------------------------------------------------------
|
|
24
|
+
Include Files and Type Defines
|
|
25
|
+
----------------------------------------------------------------------------**/
|
|
26
|
+
#define BITSINLONG 32 /*no of bits in a long */
|
|
27
|
+
typedef uinT32 *BIT_VECTOR;
|
|
28
|
+
|
|
29
|
+
/**----------------------------------------------------------------------------
|
|
30
|
+
Public Function Prototypes
|
|
31
|
+
----------------------------------------------------------------------------**/
|
|
32
|
+
#define zero_all_bits(array,length) \
|
|
33
|
+
{\
|
|
34
|
+
register int index; /*temporary index*/\
|
|
35
|
+
\
|
|
36
|
+
for (index=0;index<length;index++)\
|
|
37
|
+
array[index]=0; /*zero all bits*/\
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
#define set_all_bits(array,length) \
|
|
41
|
+
{\
|
|
42
|
+
register int index; /*temporary index*/\
|
|
43
|
+
\
|
|
44
|
+
for (index=0;index<length;index++)\
|
|
45
|
+
array[index]= ~0; /*set all bits*/\
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#define copy_all_bits(source,dest,length) \
|
|
49
|
+
{\
|
|
50
|
+
register int index; /*temporary index*/\
|
|
51
|
+
\
|
|
52
|
+
for (index=0;index<length;index++)\
|
|
53
|
+
dest[index]=source[index]; /*copy all bits*/\
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
#define SET_BIT(array,bit) (array[bit/BITSINLONG]|=1<<(bit&(BITSINLONG-1)))
|
|
57
|
+
|
|
58
|
+
#define reset_bit(array,bit) (array[bit/BITSINLONG]&=~(1<<(bit&(BITSINLONG-1))))
|
|
59
|
+
|
|
60
|
+
#define test_bit(array,bit) (array[bit/BITSINLONG] & (1<<(bit&(BITSINLONG-1))))
|
|
61
|
+
|
|
62
|
+
#define WordsInVectorOfSize(NumBits) \
|
|
63
|
+
(((NumBits) + BITSINLONG - 1) / BITSINLONG)
|
|
64
|
+
|
|
65
|
+
/*--------------------------------------------------------------------------
|
|
66
|
+
Public Function Prototypes
|
|
67
|
+
--------------------------------------------------------------------------*/
|
|
68
|
+
BIT_VECTOR ExpandBitVector(BIT_VECTOR Vector, int NewNumBits);
|
|
69
|
+
|
|
70
|
+
void FreeBitVector(BIT_VECTOR BitVector);
|
|
71
|
+
|
|
72
|
+
int hamming_distance(uinT32* array1, uinT32* array2, int length);
|
|
73
|
+
|
|
74
|
+
BIT_VECTOR NewBitVector(int NumBits);
|
|
75
|
+
/*
|
|
76
|
+
#if defined(__STDC__) || defined(__cplusplus)
|
|
77
|
+
# define _ARGS(s) s
|
|
78
|
+
#else
|
|
79
|
+
# define _ARGS(s) ()
|
|
80
|
+
#endif*/
|
|
81
|
+
|
|
82
|
+
/* bitvec.c
|
|
83
|
+
BIT_VECTOR ExpandBitVector
|
|
84
|
+
_ARGS((BIT_VECTOR Vector,
|
|
85
|
+
int NewNumBits));
|
|
86
|
+
|
|
87
|
+
void FreeBitVector
|
|
88
|
+
_ARGS((BIT_VECTOR BitVector));
|
|
89
|
+
|
|
90
|
+
int hamming_distance
|
|
91
|
+
_ARGS((unsigned long *array1,
|
|
92
|
+
unsigned long *array2,
|
|
93
|
+
int length));
|
|
94
|
+
|
|
95
|
+
BIT_VECTOR NewBitVector
|
|
96
|
+
_ARGS((int NumBits));
|
|
97
|
+
|
|
98
|
+
#undef _ARGS
|
|
99
|
+
*/
|
|
100
|
+
#endif
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**********************************************************************
|
|
2
|
+
* File: callcpp.h
|
|
3
|
+
* Description: extern C interface calling C++ from C.
|
|
4
|
+
* Author: Ray Smith
|
|
5
|
+
* Created: Sun Feb 04 20:39:23 MST 1996
|
|
6
|
+
*
|
|
7
|
+
* (C) Copyright 1996, Hewlett-Packard Co.
|
|
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 CALLCPP_H
|
|
21
|
+
#define CALLCPP_H
|
|
22
|
+
|
|
23
|
+
#include "host.h"
|
|
24
|
+
#include "varable.h"
|
|
25
|
+
#include "unichar.h"
|
|
26
|
+
|
|
27
|
+
class ScrollView;
|
|
28
|
+
|
|
29
|
+
#ifdef __cplusplus
|
|
30
|
+
//extern "C" {
|
|
31
|
+
#endif
|
|
32
|
+
typedef enum {
|
|
33
|
+
Black,
|
|
34
|
+
White,
|
|
35
|
+
Red,
|
|
36
|
+
Yellow,
|
|
37
|
+
Green,
|
|
38
|
+
Cyan,
|
|
39
|
+
Blue,
|
|
40
|
+
Magenta,
|
|
41
|
+
Aquamarine,
|
|
42
|
+
Dark_SLATE_BLUE,
|
|
43
|
+
Light_BLUE,
|
|
44
|
+
Medium_BLUE,
|
|
45
|
+
Midnight_BLUE,
|
|
46
|
+
Navy_BLUE,
|
|
47
|
+
Sky_BLUE,
|
|
48
|
+
Slate_BLUE,
|
|
49
|
+
Steel_BLUE,
|
|
50
|
+
Coral,
|
|
51
|
+
Brown,
|
|
52
|
+
Sandy_BROWN,
|
|
53
|
+
Gold,
|
|
54
|
+
GoldENROD,
|
|
55
|
+
Dark_GREEN,
|
|
56
|
+
Dark_OLIVE_GREEN,
|
|
57
|
+
Forest_GREEN,
|
|
58
|
+
Lime_GREEN,
|
|
59
|
+
Pale_GREEN,
|
|
60
|
+
Yellow_GREEN,
|
|
61
|
+
Light_GREY,
|
|
62
|
+
Dark_SLATE_GREY,
|
|
63
|
+
Dim_GREY,
|
|
64
|
+
Grey,
|
|
65
|
+
Khaki,
|
|
66
|
+
Maroon,
|
|
67
|
+
Orange,
|
|
68
|
+
Orchid,
|
|
69
|
+
Pink,
|
|
70
|
+
Plum,
|
|
71
|
+
Indian_RED,
|
|
72
|
+
Orange_RED,
|
|
73
|
+
Violet_RED,
|
|
74
|
+
Salmon,
|
|
75
|
+
Tan,
|
|
76
|
+
Turqoise,
|
|
77
|
+
Dark_TURQUOISE,
|
|
78
|
+
Violet,
|
|
79
|
+
Wheat,
|
|
80
|
+
Green_YELLOW
|
|
81
|
+
} C_COL; /*starbase colours */
|
|
82
|
+
|
|
83
|
+
#define INTEL 0x4949
|
|
84
|
+
#define MOTO 0x4d4d
|
|
85
|
+
|
|
86
|
+
extern INT_VAR_H (tess_cp_mapping0, 0, "Mappings for class pruner distance");
|
|
87
|
+
extern INT_VAR_H (tess_cp_mapping1, 1, "Mappings for class pruner distance");
|
|
88
|
+
extern INT_VAR_H (tess_cp_mapping2, 2, "Mappings for class pruner distance");
|
|
89
|
+
extern INT_VAR_H (tess_cp_mapping3, 3, "Mappings for class pruner distance");
|
|
90
|
+
extern INT_VAR_H (stopper_numbers_on, 0,
|
|
91
|
+
"Allow numbers to be acceptable choices");
|
|
92
|
+
extern INT_VAR_H (config_pruner_enabled, 0, "Turn on config pruner");
|
|
93
|
+
extern INT_VAR_H (feature_prune_percentile, 0, "Percent of features to use");
|
|
94
|
+
extern INT_VAR_H (newcp_ratings_on, 0, "Use new class pruner normalisation");
|
|
95
|
+
extern INT_VAR_H (record_matcher_output, 0, "Record detailed matcher info");
|
|
96
|
+
extern INT_VAR_H (il1_adaption_test, 0,
|
|
97
|
+
"Dont adapt to i/I at beginning of word");
|
|
98
|
+
extern double_VAR_H (permuter_pending_threshold, 0.0,
|
|
99
|
+
"Worst conf for using pending dictionary");
|
|
100
|
+
extern double_VAR_H (newcp_duff_rating, 0.30,
|
|
101
|
+
"Worst rating for calling real matcher");
|
|
102
|
+
extern double_VAR_H (newcp_prune_threshold, 1.2, "Ratio of best to prune");
|
|
103
|
+
extern double_VAR_H (tessedit_cp_ratio, 0.0, "Ratio from best to prune");
|
|
104
|
+
|
|
105
|
+
//Global matcher info from the class pruner.
|
|
106
|
+
extern inT32 cp_classes;
|
|
107
|
+
extern inT32 cp_bestindex;
|
|
108
|
+
extern inT32 cp_bestrating;
|
|
109
|
+
extern inT32 cp_bestconf;
|
|
110
|
+
extern char cp_chars[2];
|
|
111
|
+
extern inT32 cp_ratings[2];
|
|
112
|
+
extern inT32 cp_confs[2];
|
|
113
|
+
extern inT32 cp_maps[4];
|
|
114
|
+
//Global info to control writes of matcher info
|
|
115
|
+
extern inT32 blob_type; //write control
|
|
116
|
+
extern char blob_answer[UNICHAR_LEN + 1]; //correct char
|
|
117
|
+
extern char *word_answer; //correct word
|
|
118
|
+
extern inT32 matcher_pass; //pass in chopper.c
|
|
119
|
+
extern inT32 bits_in_states; //no of bits in states
|
|
120
|
+
|
|
121
|
+
#ifndef __UNIX__
|
|
122
|
+
#include <assert.h>
|
|
123
|
+
#endif
|
|
124
|
+
void setup_cp_maps();
|
|
125
|
+
void trace_stack(); //Trace current stack
|
|
126
|
+
void cprintf ( //Trace printf
|
|
127
|
+
const char *format, ... //special message
|
|
128
|
+
);
|
|
129
|
+
char *c_alloc_string( //allocate string
|
|
130
|
+
inT32 count //no of chars required
|
|
131
|
+
);
|
|
132
|
+
void c_free_string( //free a string
|
|
133
|
+
char *string //string to free
|
|
134
|
+
);
|
|
135
|
+
void *c_alloc_struct( //allocate memory
|
|
136
|
+
inT32 count, //no of chars required
|
|
137
|
+
const char *name //class name
|
|
138
|
+
);
|
|
139
|
+
void c_free_struct( //free a structure
|
|
140
|
+
void *deadstruct, //structure to free
|
|
141
|
+
inT32 count, //no of bytes
|
|
142
|
+
const char *name //class name
|
|
143
|
+
);
|
|
144
|
+
void *c_alloc_mem_p( //allocate permanent space
|
|
145
|
+
inT32 count //block size to allocate
|
|
146
|
+
);
|
|
147
|
+
void *c_alloc_mem( //get some memory
|
|
148
|
+
inT32 count //no of bytes to get
|
|
149
|
+
);
|
|
150
|
+
void c_free_mem( //free mem from alloc_mem
|
|
151
|
+
void *oldchunk //chunk to free
|
|
152
|
+
);
|
|
153
|
+
void c_check_mem( //check consistency
|
|
154
|
+
const char *string, //context message
|
|
155
|
+
inT8 level //level of check
|
|
156
|
+
);
|
|
157
|
+
ScrollView *c_create_window( /*create a window */
|
|
158
|
+
const char *name, /*name/title of window */
|
|
159
|
+
inT16 xpos, /*coords of window */
|
|
160
|
+
inT16 ypos, /*coords of window */
|
|
161
|
+
inT16 xsize, /*size of window */
|
|
162
|
+
inT16 ysize, /*size of window */
|
|
163
|
+
double xmin, /*scrolling limits */
|
|
164
|
+
double xmax, /*to stop users */
|
|
165
|
+
double ymin, /*getting lost in */
|
|
166
|
+
double ymax /*empty space */
|
|
167
|
+
);
|
|
168
|
+
void c_line_color_index( /*set color */
|
|
169
|
+
void *win,
|
|
170
|
+
C_COL index);
|
|
171
|
+
void c_move( /*move pen */
|
|
172
|
+
void *win,
|
|
173
|
+
double x,
|
|
174
|
+
double y);
|
|
175
|
+
void c_draw( /*move pen */
|
|
176
|
+
void *win,
|
|
177
|
+
double x,
|
|
178
|
+
double y);
|
|
179
|
+
void c_make_current( /*move pen */
|
|
180
|
+
void *win);
|
|
181
|
+
void c_clear_window( /*move pen */
|
|
182
|
+
void *win);
|
|
183
|
+
char window_wait(ScrollView* win);
|
|
184
|
+
void reverse32(void *ptr);
|
|
185
|
+
void reverse16(void *ptr);
|
|
186
|
+
|
|
187
|
+
#ifdef __cplusplus
|
|
188
|
+
//};
|
|
189
|
+
#endif
|
|
190
|
+
#endif
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**************************************************************************
|
|
2
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
** you may not use this file except in compliance with the License.
|
|
4
|
+
** You may obtain a copy of the License at
|
|
5
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
8
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
** See the License for the specific language governing permissions and
|
|
10
|
+
** limitations under the License.
|
|
11
|
+
**************************************************************************/
|
|
12
|
+
|
|
13
|
+
#ifndef CONST_H
|
|
14
|
+
#define CONST_H
|
|
15
|
+
|
|
16
|
+
/*This file contains constants which are global to the entire system*/
|
|
17
|
+
|
|
18
|
+
#define PATHSIZE 8192 /*max elements in edge path */
|
|
19
|
+
#define OUTLINESIZE 256 /*max elements in aprroximated path */
|
|
20
|
+
#define BLOBSIZE 10000 /*max no of blobs on a page */
|
|
21
|
+
|
|
22
|
+
#if 0
|
|
23
|
+
#define FIRSTCHAR '!' /*first char in set */
|
|
24
|
+
#define LASTCHAR '~' /*last char in set */
|
|
25
|
+
#define CHARSETSIZE (LASTCHAR-FIRSTCHAR+1)
|
|
26
|
+
no of chars in set
|
|
27
|
+
#define MERGESIZE 10 /*max chars in a class */
|
|
28
|
+
#define MAXCHARSIZE 159 /*max size of any char */
|
|
29
|
+
#define CLASSIZE 256 /*max no of classes */
|
|
30
|
+
#define SPLITSIZE 4 /*no of to_classes per class */
|
|
31
|
+
#define BADCLASS 255 /*null class */
|
|
32
|
+
#define BADMATCH 255 /*no match */
|
|
33
|
+
#define CLASSLENGTH 16 /*max chars in a class string */
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
#define VECSCALE 3 /*vector scaling factor in fx */
|
|
37
|
+
#define REALSCALE ((double)(1<<VECSCALE))
|
|
38
|
+
/*2.0**VECSCALE */
|
|
39
|
+
#define SPLINESIZE 23 /*max spline parts to a line */
|
|
40
|
+
|
|
41
|
+
#ifndef NULL
|
|
42
|
+
#define NULL 0 /*null pointer array index */
|
|
43
|
+
#endif
|
|
44
|
+
|
|
45
|
+
#define MAXUCHAR 255 /*max value of unsigned char */
|
|
46
|
+
#define PI 3.14159265359/*pi */
|
|
47
|
+
#ifndef __UNIX__
|
|
48
|
+
/*approximate!! */
|
|
49
|
+
#define MAXFLOAT 2000000000.0f
|
|
50
|
+
#endif
|
|
51
|
+
|
|
52
|
+
#define FILENAMESIZE 1024 /*max permissible path name length */
|
|
53
|
+
|
|
54
|
+
#define MAX_WO_CLASSES 3 /*no of quickie classes */
|
|
55
|
+
//#define BLOBFLAGS 4 /*No of flags in a blob*/
|
|
56
|
+
#define ITALIC 0 /*measure of italicness */
|
|
57
|
+
#define ASPECT_RATIO 2 /*aspect ratio of blob */
|
|
58
|
+
|
|
59
|
+
#define NODEFLAGS 4 /*no of flags in a node */
|
|
60
|
+
|
|
61
|
+
#define EDGEPTFLAGS 4 /*concavity,length etc. */
|
|
62
|
+
#define FLAGS 0 /*flags array indices */
|
|
63
|
+
#define CONVEX 1 /*TESSLINE point is convex */
|
|
64
|
+
#define CONCAVE 2 /*used and set only in edges */
|
|
65
|
+
//#define FIXED 4 /*TESSLINE point is fixed*/
|
|
66
|
+
#define ONHULL 8 /*on convex hull */
|
|
67
|
+
|
|
68
|
+
#define RUNLENGTH 1 /*length of run */
|
|
69
|
+
|
|
70
|
+
#define DIR 2 /*direction of run */
|
|
71
|
+
|
|
72
|
+
#define CORRECTION 3 /*correction of run */
|
|
73
|
+
|
|
74
|
+
#define OUTLINES_PER_BLOB 8 /*max no of outlines in blob */
|
|
75
|
+
|
|
76
|
+
#define PLUS 1 /*starbase markers */
|
|
77
|
+
#define CIRCLE 3
|
|
78
|
+
|
|
79
|
+
//#define WHITE 1 /*starbase colours*/
|
|
80
|
+
//#define RED 2
|
|
81
|
+
//#define YELLOW 3
|
|
82
|
+
//#define GREEN 4
|
|
83
|
+
//#define CYAN 5
|
|
84
|
+
//#define BLUE 6
|
|
85
|
+
|
|
86
|
+
#define SMD 0x100000 /*memory driver output */
|
|
87
|
+
|
|
88
|
+
#define SCAN 0 /*scanner process id */
|
|
89
|
+
#define EDGE 1 /*edge process id */
|
|
90
|
+
#define FX 2 /*fx process id */
|
|
91
|
+
#define TESSTO 3 /*pageseg process id */
|
|
92
|
+
#define OCR 4 /*ocr process id */
|
|
93
|
+
#define MAXPROC (OCR+1) /*no of processes */
|
|
94
|
+
|
|
95
|
+
/*debugs[OCR] control flags*/
|
|
96
|
+
#define STRINGCMPS 0x1 /*show ocrdiff compares */
|
|
97
|
+
|
|
98
|
+
/*acts[OCR] control flags*/
|
|
99
|
+
#define CHECKS 0x1 /*run accuracy checks */
|
|
100
|
+
#define WRITEERRORS 0x2 /*write error output */
|
|
101
|
+
#define WRITECORRECTS 0x4 /*write correct blobs as errors */
|
|
102
|
+
#define WRITEWERDS 0x8 /*write whole words */
|
|
103
|
+
#define FXSELECT 0x10 /*write error output */
|
|
104
|
+
#define WRITEROWFILE 0x06 /*any write errors */
|
|
105
|
+
#define LEARN 0x100 /*learn mode */
|
|
106
|
+
#define WRITELEARNFILE 0xf00 /*any learning */
|
|
107
|
+
#define EACHWERD 0x2000 /*clear vdc after each word */
|
|
108
|
+
#endif
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/* -*-C-*-
|
|
2
|
+
********************************************************************************
|
|
3
|
+
*
|
|
4
|
+
* File: cutil.c
|
|
5
|
+
* Description: General utility functions
|
|
6
|
+
* Author: Mark Seaman, SW Productivity
|
|
7
|
+
* Created: Fri Oct 16 14:37:00 1987
|
|
8
|
+
* Modified: Wed Jun 6 16:29:17 1990 (Mark Seaman) marks@hpgrlt
|
|
9
|
+
* Language: C
|
|
10
|
+
* Package: N/A
|
|
11
|
+
* Status: Reusable Software Component
|
|
12
|
+
*
|
|
13
|
+
* (c) Copyright 1987, Hewlett-Packard Company.
|
|
14
|
+
** Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
+
** you may not use this file except in compliance with the License.
|
|
16
|
+
** You may obtain a copy of the License at
|
|
17
|
+
** http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
** Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
** distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
** See the License for the specific language governing permissions and
|
|
22
|
+
** limitations under the License.
|
|
23
|
+
*
|
|
24
|
+
********************************************************************************
|
|
25
|
+
Revision 1.1 2007/02/02 23:39:07 theraysmith
|
|
26
|
+
Fixed portability issues
|
|
27
|
+
|
|
28
|
+
Revision 1.1.1.1 2004/02/20 19:39:06 slumos
|
|
29
|
+
Import original HP distribution
|
|
30
|
+
|
|
31
|
+
* Revision 1.3 90/03/06 15:39:10 15:39:10 marks (Mark Seaman)
|
|
32
|
+
* Look for correct file of <malloc.h> or <stdlib.h>
|
|
33
|
+
*
|
|
34
|
+
* Revision 1.2 90/01/15 13:02:13 13:02:13 marks (Mark Seaman)
|
|
35
|
+
* Added memory allocator (*allocate) and (*deallocate)
|
|
36
|
+
*
|
|
37
|
+
* Revision 1.1 89/10/09 14:58:29 14:58:29 marks (Mark Seaman)
|
|
38
|
+
* Initial revision
|
|
39
|
+
**/
|
|
40
|
+
|
|
41
|
+
#include "cutil.h"
|
|
42
|
+
#include "tprintf.h"
|
|
43
|
+
#include "callcpp.h"
|
|
44
|
+
|
|
45
|
+
#include <stdlib.h>
|
|
46
|
+
|
|
47
|
+
#define RESET_COUNT 2000
|
|
48
|
+
|
|
49
|
+
void_proc deallocate = (void_proc) c_free_string;
|
|
50
|
+
char_proc allocate = (char_proc) c_alloc_string;
|
|
51
|
+
|
|
52
|
+
/**********************************************************************
|
|
53
|
+
* long_rand
|
|
54
|
+
*
|
|
55
|
+
* Return a long random number whose value is less than limit. Do this
|
|
56
|
+
* by calling the standard cheepo random number generator and reseting
|
|
57
|
+
* it pretty often.
|
|
58
|
+
**********************************************************************/
|
|
59
|
+
long long_rand(long limit) {
|
|
60
|
+
#if RAND_MAX < 0x1000000
|
|
61
|
+
static long seed;
|
|
62
|
+
|
|
63
|
+
long num;
|
|
64
|
+
num = (long) rand () << 16;
|
|
65
|
+
num |= rand () & 0xffff;
|
|
66
|
+
seed ^= num;
|
|
67
|
+
long result = num % limit;
|
|
68
|
+
while (result < 0) {
|
|
69
|
+
result += limit;
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
#else
|
|
73
|
+
return (long)((double)limit * rand()/(RAND_MAX + 1.0));
|
|
74
|
+
#endif
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
/**********************************************************************
|
|
79
|
+
* open_file
|
|
80
|
+
*
|
|
81
|
+
* Open a file for reading or writing. If the file name parameter is
|
|
82
|
+
* NULL use stdin (or stdout) for the file. If the file can not be
|
|
83
|
+
* opened then call the error routine.
|
|
84
|
+
**********************************************************************/
|
|
85
|
+
FILE *open_file(const char *filename, const char *mode) {
|
|
86
|
+
FILE *thisfile = NULL;
|
|
87
|
+
if ((thisfile = fopen (filename, mode)) == NULL) {
|
|
88
|
+
tprintf ("Could not open file, %s\n", filename);
|
|
89
|
+
exit (1);
|
|
90
|
+
}
|
|
91
|
+
return (thisfile);
|
|
92
|
+
}
|