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,238 @@
|
|
1
|
+
/**********************************************************************
|
2
|
+
* File: fpchop.h (Formerly fp_chop.h)
|
3
|
+
* Description: Code to chop fixed pitch text into character cells.
|
4
|
+
* Author: Ray Smith
|
5
|
+
* Created: Thu Sep 16 11:14:15 BST 1993
|
6
|
+
*
|
7
|
+
* (C) Copyright 1993, 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 FPCHOP_H
|
21
|
+
#define FPCHOP_H
|
22
|
+
|
23
|
+
#include "varable.h"
|
24
|
+
#include "blobbox.h"
|
25
|
+
#include "notdll.h"
|
26
|
+
#include "notdll.h"
|
27
|
+
|
28
|
+
class OUTLINE_FRAG:public ELIST_LINK
|
29
|
+
{
|
30
|
+
public:
|
31
|
+
OUTLINE_FRAG() {
|
32
|
+
} //empty constructor
|
33
|
+
//head of fragment
|
34
|
+
OUTLINE_FRAG(POLYPT_IT *head_it, POLYPT_IT *tail_it); //tail of fragment
|
35
|
+
//other end
|
36
|
+
OUTLINE_FRAG(OUTLINE_FRAG *head, float tail_y);
|
37
|
+
|
38
|
+
POLYPT_LIST polypts; //only if a head
|
39
|
+
OUTLINE_FRAG *other_end; //head if a tail
|
40
|
+
float ycoord; //coord of cut pt
|
41
|
+
|
42
|
+
private:
|
43
|
+
};
|
44
|
+
|
45
|
+
class C_OUTLINE_FRAG:public ELIST_LINK
|
46
|
+
{
|
47
|
+
public:
|
48
|
+
C_OUTLINE_FRAG() { //empty constructor
|
49
|
+
steps = NULL;
|
50
|
+
stepcount = 0;
|
51
|
+
}
|
52
|
+
~C_OUTLINE_FRAG () {
|
53
|
+
if (steps != NULL)
|
54
|
+
delete [] steps;
|
55
|
+
}
|
56
|
+
//start coord
|
57
|
+
C_OUTLINE_FRAG(ICOORD start_pt,
|
58
|
+
ICOORD end_pt, //end coord
|
59
|
+
C_OUTLINE *outline, //source of steps
|
60
|
+
inT16 start_index,
|
61
|
+
inT16 end_index);
|
62
|
+
//other end
|
63
|
+
C_OUTLINE_FRAG(C_OUTLINE_FRAG *head, inT16 tail_y);
|
64
|
+
C_OUTLINE *close(); //copy to outline
|
65
|
+
C_OUTLINE_FRAG & operator= ( //assign
|
66
|
+
const C_OUTLINE_FRAG & src);
|
67
|
+
|
68
|
+
ICOORD start; //start coord
|
69
|
+
ICOORD end; //end coord
|
70
|
+
DIR128 *steps; //step array
|
71
|
+
inT32 stepcount; //no of steps
|
72
|
+
C_OUTLINE_FRAG *other_end; //head if a tail
|
73
|
+
inT16 ycoord; //coord of cut pt
|
74
|
+
|
75
|
+
private:
|
76
|
+
};
|
77
|
+
|
78
|
+
ELISTIZEH (OUTLINE_FRAG) ELISTIZEH (C_OUTLINE_FRAG)
|
79
|
+
extern
|
80
|
+
INT_VAR_H (textord_fp_chop_error, 2,
|
81
|
+
"Max allowed bending of chop cells");
|
82
|
+
extern
|
83
|
+
double_VAR_H (textord_fp_chop_snap, 0.5,
|
84
|
+
"Max distance of chop pt from vertex");
|
85
|
+
ROW *fixed_pitch_words( //find lines
|
86
|
+
TO_ROW *row, //row to do
|
87
|
+
FCOORD rotation //for drawing
|
88
|
+
);
|
89
|
+
WERD *add_repeated_word( //move repeated word
|
90
|
+
WERD_IT *rep_it, //repeated words
|
91
|
+
inT16 &rep_left, //left edge of word
|
92
|
+
inT16 &prev_chop_coord, //previous word end
|
93
|
+
uinT8 &blanks, //no of blanks
|
94
|
+
float pitch, //char cell size
|
95
|
+
WERD_IT *word_it //list of words
|
96
|
+
);
|
97
|
+
void split_to_blob( //split the blob
|
98
|
+
BLOBNBOX *blob, //blob to split
|
99
|
+
inT16 chop_coord, //place to chop
|
100
|
+
float pitch_error, //allowed deviation
|
101
|
+
OUTLINE_LIST *left_outlines, //left half of chop
|
102
|
+
C_OUTLINE_LIST *left_coutlines, //for cblobs
|
103
|
+
OUTLINE_LIST *right_outlines, //right half of chop
|
104
|
+
C_OUTLINE_LIST *right_coutlines);
|
105
|
+
void fixed_chop_blob( //split the blob
|
106
|
+
PBLOB *blob, //blob to split
|
107
|
+
inT16 chop_coord, //place to chop
|
108
|
+
float pitch_error, //allowed deviation
|
109
|
+
OUTLINE_LIST *left_outlines, //left half of chop
|
110
|
+
OUTLINE_LIST *right_outlines //right half of chop
|
111
|
+
);
|
112
|
+
void fixed_split_outline( //chop the outline
|
113
|
+
OUTLINE *srcline, //source outline
|
114
|
+
inT16 chop_coord, //place to chop
|
115
|
+
float pitch_error, //allowed deviation
|
116
|
+
OUTLINE_IT *left_it, //left half of chop
|
117
|
+
OUTLINE_IT *right_it //right half of chop
|
118
|
+
);
|
119
|
+
BOOL8 fixed_chop_outline( //chop the outline
|
120
|
+
OUTLINE *srcline, //source outline
|
121
|
+
inT16 chop_coord, //place to chop
|
122
|
+
float pitch_error, //allowed deviation
|
123
|
+
OUTLINE_FRAG_LIST *left_frags, //left half of chop
|
124
|
+
OUTLINE_FRAG_LIST *right_frags //right half of chop
|
125
|
+
);
|
126
|
+
void save_chop_fragment( //chop the outline
|
127
|
+
POLYPT_IT *head_it, //head of fragment
|
128
|
+
POLYPT_IT *tail_it, //tail of fragment
|
129
|
+
OUTLINE_FRAG_LIST *frags //fragment list
|
130
|
+
);
|
131
|
+
void add_frag_to_list( //ordered add
|
132
|
+
OUTLINE_FRAG *frag, //fragment to add
|
133
|
+
OUTLINE_FRAG_LIST *frags //fragment list
|
134
|
+
);
|
135
|
+
void insert_chop_pt( //make chop
|
136
|
+
POLYPT_IT *it, //iterator
|
137
|
+
inT16 chop_coord //required chop pt
|
138
|
+
);
|
139
|
+
FCOORD find_chop_coords( //make chop
|
140
|
+
POLYPT_IT *it, //iterator
|
141
|
+
inT16 chop_coord //required chop pt
|
142
|
+
);
|
143
|
+
void insert_extra_pt( //make extra
|
144
|
+
POLYPT_IT *it //iterator
|
145
|
+
);
|
146
|
+
void close_chopped_fragments( //chop the outline
|
147
|
+
OUTLINE_FRAG_LIST *frags, //list to clear
|
148
|
+
OUTLINE_LIST *children, //potential children
|
149
|
+
OUTLINE_IT *dest_it //output list
|
150
|
+
);
|
151
|
+
void join_chopped_fragments( //join pieces
|
152
|
+
OUTLINE_FRAG *bottom, //bottom of cut
|
153
|
+
OUTLINE_FRAG *top //top of cut
|
154
|
+
);
|
155
|
+
void fixed_chop_cblob( //split the blob
|
156
|
+
C_BLOB *blob, //blob to split
|
157
|
+
inT16 chop_coord, //place to chop
|
158
|
+
float pitch_error, //allowed deviation
|
159
|
+
C_OUTLINE_LIST *left_outlines, //left half of chop
|
160
|
+
C_OUTLINE_LIST *right_outlines //right half of chop
|
161
|
+
);
|
162
|
+
void fixed_split_coutline( //chop the outline
|
163
|
+
C_OUTLINE *srcline, //source outline
|
164
|
+
inT16 chop_coord, //place to chop
|
165
|
+
float pitch_error, //allowed deviation
|
166
|
+
C_OUTLINE_IT *left_it, //left half of chop
|
167
|
+
C_OUTLINE_IT *right_it //right half of chop
|
168
|
+
);
|
169
|
+
BOOL8 fixed_chop_coutline( //chop the outline
|
170
|
+
C_OUTLINE *srcline, //source outline
|
171
|
+
inT16 chop_coord, //place to chop
|
172
|
+
float pitch_error, //allowed deviation
|
173
|
+
C_OUTLINE_FRAG_LIST *left_frags, //left half of chop
|
174
|
+
C_OUTLINE_FRAG_LIST *right_frags //right half of chop
|
175
|
+
);
|
176
|
+
inT16 next_anti_left_seg( //chop the outline
|
177
|
+
C_OUTLINE *srcline, //source outline
|
178
|
+
inT16 tail_index, //of tailpos
|
179
|
+
inT16 startindex, //end of search
|
180
|
+
inT32 length, //of outline
|
181
|
+
inT16 chop_coord, //place to chop
|
182
|
+
float pitch_error, //allowed deviation
|
183
|
+
ICOORD *tail_pos //current position
|
184
|
+
);
|
185
|
+
inT16 next_anti_right_seg( //chop the outline
|
186
|
+
C_OUTLINE *srcline, //source outline
|
187
|
+
inT16 tail_index, //of tailpos
|
188
|
+
inT16 startindex, //end of search
|
189
|
+
inT32 length, //of outline
|
190
|
+
inT16 chop_coord, //place to chop
|
191
|
+
float pitch_error, //allowed deviation
|
192
|
+
ICOORD *tail_pos //current position
|
193
|
+
);
|
194
|
+
inT16 next_clock_left_seg( //chop the outline
|
195
|
+
C_OUTLINE *srcline, //source outline
|
196
|
+
inT16 tail_index, //of tailpos
|
197
|
+
inT16 startindex, //end of search
|
198
|
+
inT32 length, //of outline
|
199
|
+
inT16 chop_coord, //place to chop
|
200
|
+
float pitch_error, //allowed deviation
|
201
|
+
ICOORD *tail_pos //current position
|
202
|
+
);
|
203
|
+
inT16 next_clock_right_seg( //chop the outline
|
204
|
+
C_OUTLINE *srcline, //source outline
|
205
|
+
inT16 tail_index, //of tailpos
|
206
|
+
inT16 startindex, //end of search
|
207
|
+
inT32 length, //of outline
|
208
|
+
inT16 chop_coord, //place to chop
|
209
|
+
float pitch_error, //allowed deviation
|
210
|
+
ICOORD *tail_pos //current position
|
211
|
+
);
|
212
|
+
void save_chop_cfragment( //chop the outline
|
213
|
+
inT16 head_index, //head of fragment
|
214
|
+
ICOORD head_pos, //head of fragment
|
215
|
+
inT16 tail_index, //tail of fragment
|
216
|
+
ICOORD tail_pos, //tail of fragment
|
217
|
+
C_OUTLINE *srcline, //source of edgesteps
|
218
|
+
C_OUTLINE_FRAG_LIST *frags //fragment list
|
219
|
+
);
|
220
|
+
void add_frag_to_list( //ordered add
|
221
|
+
C_OUTLINE_FRAG *frag, //fragment to add
|
222
|
+
C_OUTLINE_FRAG_LIST *frags //fragment list
|
223
|
+
);
|
224
|
+
void close_chopped_cfragments( //chop the outline
|
225
|
+
C_OUTLINE_FRAG_LIST *frags, //list to clear
|
226
|
+
C_OUTLINE_LIST *children, //potential children
|
227
|
+
float pitch_error, //allowed shrinkage
|
228
|
+
C_OUTLINE_IT *dest_it //output list
|
229
|
+
);
|
230
|
+
C_OUTLINE *join_chopped_fragments( //join pieces
|
231
|
+
C_OUTLINE_FRAG *bottom, //bottom of cut
|
232
|
+
C_OUTLINE_FRAG *top //top of cut
|
233
|
+
);
|
234
|
+
void join_segments( //join pieces
|
235
|
+
C_OUTLINE_FRAG *bottom, //bottom of cut
|
236
|
+
C_OUTLINE_FRAG *top //top of cut
|
237
|
+
);
|
238
|
+
#endif
|
@@ -0,0 +1,166 @@
|
|
1
|
+
#include "mfcpch.h"
|
2
|
+
#include "statistc.h"
|
3
|
+
#include "gap_map.h"
|
4
|
+
|
5
|
+
#define EXTERN
|
6
|
+
EXTERN BOOL_VAR (gapmap_debug, FALSE, "Say which blocks have tables");
|
7
|
+
EXTERN BOOL_VAR (gapmap_use_ends, FALSE,
|
8
|
+
"Use large space at start and end of rows");
|
9
|
+
EXTERN BOOL_VAR (gapmap_no_isolated_quanta, FALSE,
|
10
|
+
"Ensure gaps not less than 2quanta wide");
|
11
|
+
EXTERN double_VAR (gapmap_big_gaps, 1.75, "xht multiplier");
|
12
|
+
|
13
|
+
/*************************************************************************
|
14
|
+
* A block gap map is a quantised histogram of whitespace regions in the
|
15
|
+
* block. It is a vertical projection of wide gaps WITHIN lines
|
16
|
+
*
|
17
|
+
* The map is held as an array of counts of rows which have a wide gap
|
18
|
+
* covering that region of the row. Each bucket in the map represents a width
|
19
|
+
* of about half an xheight - (The median of the xhts in the rows is used.)
|
20
|
+
*
|
21
|
+
* The block is considered RECTANGULAR - delimited by the left and right
|
22
|
+
* extremes of the rows in the block. However, ONLY wide gaps WITHIN a row are
|
23
|
+
* counted.
|
24
|
+
*
|
25
|
+
*************************************************************************/
|
26
|
+
|
27
|
+
GAPMAP::GAPMAP( //Constructor
|
28
|
+
TO_BLOCK *block //block
|
29
|
+
) {
|
30
|
+
TO_ROW_IT row_it; //row iterator
|
31
|
+
TO_ROW *row; //current row
|
32
|
+
BLOBNBOX_IT blob_it; //iterator
|
33
|
+
TBOX blob_box;
|
34
|
+
TBOX prev_blob_box;
|
35
|
+
inT16 gap_width;
|
36
|
+
inT16 start_of_row;
|
37
|
+
inT16 end_of_row;
|
38
|
+
STATS xht_stats (0, 128);
|
39
|
+
inT16 min_quantum;
|
40
|
+
inT16 max_quantum;
|
41
|
+
inT16 i;
|
42
|
+
|
43
|
+
row_it.set_to_list (block->get_rows ());
|
44
|
+
/*
|
45
|
+
Find left and right extremes and bucket size
|
46
|
+
*/
|
47
|
+
map = NULL;
|
48
|
+
min_left = MAX_INT16;
|
49
|
+
max_right = -MAX_INT16;
|
50
|
+
total_rows = 0;
|
51
|
+
any_tabs = FALSE;
|
52
|
+
for (row_it.mark_cycle_pt (); !row_it.cycled_list (); row_it.forward ()) {
|
53
|
+
row = row_it.data ();
|
54
|
+
if (!row->blob_list ()->empty ()) {
|
55
|
+
total_rows++;
|
56
|
+
xht_stats.add ((inT16) floor (row->xheight + 0.5), 1);
|
57
|
+
blob_it.set_to_list (row->blob_list ());
|
58
|
+
start_of_row = blob_it.data ()->bounding_box ().left ();
|
59
|
+
end_of_row = blob_it.data_relative (-1)->bounding_box ().right ();
|
60
|
+
if (min_left > start_of_row)
|
61
|
+
min_left = start_of_row;
|
62
|
+
if (max_right < end_of_row)
|
63
|
+
max_right = end_of_row;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
if ((total_rows < 3) || (min_left >= max_right)) {
|
67
|
+
total_rows = 0;
|
68
|
+
min_left = max_right = 0;
|
69
|
+
return;
|
70
|
+
}
|
71
|
+
bucket_size = (inT16) floor (xht_stats.median () + 0.5) / 2;
|
72
|
+
map_max = (max_right - min_left) / bucket_size;
|
73
|
+
map = (inT16 *) alloc_mem ((map_max + 1) * sizeof (inT16));
|
74
|
+
for (i = 0; i <= map_max; i++)
|
75
|
+
map[i] = 0;
|
76
|
+
|
77
|
+
for (row_it.mark_cycle_pt (); !row_it.cycled_list (); row_it.forward ()) {
|
78
|
+
row = row_it.data ();
|
79
|
+
if (!row->blob_list ()->empty ()) {
|
80
|
+
blob_it.set_to_list (row->blob_list ());
|
81
|
+
blob_it.mark_cycle_pt ();
|
82
|
+
blob_box = box_next (&blob_it);
|
83
|
+
prev_blob_box = blob_box;
|
84
|
+
if (gapmap_use_ends) {
|
85
|
+
/* Leading space */
|
86
|
+
gap_width = blob_box.left () - min_left;
|
87
|
+
if ((gap_width > gapmap_big_gaps * row->xheight)
|
88
|
+
&& gap_width > 2) {
|
89
|
+
max_quantum = (blob_box.left () - min_left) / bucket_size;
|
90
|
+
for (i = 0; i <= max_quantum; i++)
|
91
|
+
map[i]++;
|
92
|
+
}
|
93
|
+
}
|
94
|
+
while (!blob_it.cycled_list ()) {
|
95
|
+
blob_box = box_next (&blob_it);
|
96
|
+
gap_width = blob_box.left () - prev_blob_box.right ();
|
97
|
+
if ((gap_width > gapmap_big_gaps * row->xheight)
|
98
|
+
&& gap_width > 2) {
|
99
|
+
min_quantum =
|
100
|
+
(prev_blob_box.right () - min_left) / bucket_size;
|
101
|
+
max_quantum = (blob_box.left () - min_left) / bucket_size;
|
102
|
+
for (i = min_quantum; i <= max_quantum; i++)
|
103
|
+
map[i]++;
|
104
|
+
}
|
105
|
+
prev_blob_box = blob_box;
|
106
|
+
}
|
107
|
+
if (gapmap_use_ends) {
|
108
|
+
/* Trailing space */
|
109
|
+
gap_width = max_right - prev_blob_box.right ();
|
110
|
+
if ((gap_width > gapmap_big_gaps * row->xheight)
|
111
|
+
&& gap_width > 2) {
|
112
|
+
min_quantum =
|
113
|
+
(prev_blob_box.right () - min_left) / bucket_size;
|
114
|
+
for (i = min_quantum; i <= map_max; i++)
|
115
|
+
map[i]++;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}
|
120
|
+
for (i = 0; i <= map_max; i++) {
|
121
|
+
if (map[i] > total_rows / 2) {
|
122
|
+
if (gapmap_no_isolated_quanta &&
|
123
|
+
(((i == 0) &&
|
124
|
+
(map[i + 1] <= total_rows / 2)) ||
|
125
|
+
((i == map_max) &&
|
126
|
+
(map[i - 1] <= total_rows / 2)) ||
|
127
|
+
((i > 0) &&
|
128
|
+
(i < map_max) &&
|
129
|
+
(map[i - 1] <= total_rows / 2) &&
|
130
|
+
(map[i + 1] <= total_rows / 2)))) {
|
131
|
+
map[i] = 0; //prevent isolated quantum
|
132
|
+
}
|
133
|
+
else
|
134
|
+
any_tabs = TRUE;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
if (gapmap_debug && any_tabs)
|
138
|
+
tprintf ("Table found\n");
|
139
|
+
}
|
140
|
+
|
141
|
+
|
142
|
+
/*************************************************************************
|
143
|
+
* GAPMAP::table_gap()
|
144
|
+
* Is there a bucket in the specified range where more than half the rows in the
|
145
|
+
* block have a wide gap?
|
146
|
+
*************************************************************************/
|
147
|
+
|
148
|
+
BOOL8 GAPMAP::table_gap( //Is gap a table?
|
149
|
+
inT16 left, //From here
|
150
|
+
inT16 right //To here
|
151
|
+
) {
|
152
|
+
inT16 min_quantum;
|
153
|
+
inT16 max_quantum;
|
154
|
+
inT16 i;
|
155
|
+
BOOL8 tab_found = FALSE;
|
156
|
+
|
157
|
+
if (!any_tabs)
|
158
|
+
return FALSE;
|
159
|
+
|
160
|
+
min_quantum = (left - min_left) / bucket_size;
|
161
|
+
max_quantum = (right - min_left) / bucket_size;
|
162
|
+
for (i = min_quantum; (!tab_found && (i <= max_quantum)); i++)
|
163
|
+
if (map[i] > total_rows / 2)
|
164
|
+
tab_found = TRUE;
|
165
|
+
return tab_found;
|
166
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#ifndef GAP_MAP_H
|
2
|
+
#define GAP_MAP_H
|
3
|
+
|
4
|
+
#include "blobbox.h"
|
5
|
+
#include "notdll.h"
|
6
|
+
|
7
|
+
class GAPMAP
|
8
|
+
{
|
9
|
+
public:
|
10
|
+
GAPMAP( //constructor
|
11
|
+
TO_BLOCK *block);
|
12
|
+
|
13
|
+
~GAPMAP () { //destructor
|
14
|
+
if (map != NULL)
|
15
|
+
free_mem(map);
|
16
|
+
}
|
17
|
+
|
18
|
+
BOOL8 table_gap( //Is gap a table?
|
19
|
+
inT16 left, //From here
|
20
|
+
inT16 right); //To here
|
21
|
+
|
22
|
+
private:
|
23
|
+
inT16 total_rows; //in block
|
24
|
+
inT16 min_left; //Left extreme
|
25
|
+
inT16 max_right; //Right extreme
|
26
|
+
inT16 bucket_size; // half an x ht
|
27
|
+
inT16 *map; //empty counts
|
28
|
+
inT16 map_max; //map[0..max_map] defind
|
29
|
+
BOOL8 any_tabs;
|
30
|
+
};
|
31
|
+
|
32
|
+
/*-----------------------------*/
|
33
|
+
|
34
|
+
extern BOOL_VAR_H (gapmap_debug, FALSE, "Say which blocks have tables");
|
35
|
+
extern BOOL_VAR_H (gapmap_use_ends, FALSE,
|
36
|
+
"Use large space at start and end of rows");
|
37
|
+
extern BOOL_VAR_H (gapmap_no_isolated_quanta, FALSE,
|
38
|
+
"Ensure gaps not less than 2quanta wide");
|
39
|
+
extern double_VAR_H (gapmap_big_gaps, 1.75, "xht multiplier");
|
40
|
+
#endif
|