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,166 @@
|
|
1
|
+
/* -*-C-*-
|
2
|
+
********************************************************************************
|
3
|
+
*
|
4
|
+
* File: array.h (Formerly array.h)
|
5
|
+
* Description: Dynamic Array of String
|
6
|
+
* Author: Mark Seaman, SW Productivity
|
7
|
+
* Created: Fri Oct 16 14:37:00 1987
|
8
|
+
* Modified: Mon Sep 24 14:15:59 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
|
+
|
26
|
+
This file contains a set of general purpose dynamic array of string routines.
|
27
|
+
These routines can be used in a wide variety of ways to provide several
|
28
|
+
different popular data structures. A new "das" can be created by declaring
|
29
|
+
a variable of type 'DAS'
|
30
|
+
******************************************************************************/
|
31
|
+
|
32
|
+
#ifndef TESSARRAY_H
|
33
|
+
#define TESSARRAY_H
|
34
|
+
|
35
|
+
/*
|
36
|
+
----------------------------------------------------------------------
|
37
|
+
I n c l u d e s
|
38
|
+
----------------------------------------------------------------------
|
39
|
+
*/
|
40
|
+
|
41
|
+
#include <stdio.h>
|
42
|
+
|
43
|
+
/*
|
44
|
+
----------------------------------------------------------------------
|
45
|
+
T y p e s
|
46
|
+
----------------------------------------------------------------------
|
47
|
+
*/
|
48
|
+
|
49
|
+
typedef struct array_record
|
50
|
+
{
|
51
|
+
size_t limit;
|
52
|
+
size_t top;
|
53
|
+
void *base[2];
|
54
|
+
} *ARRAY;
|
55
|
+
|
56
|
+
typedef void (*voidProc) ();
|
57
|
+
|
58
|
+
typedef int (*intProc) ();
|
59
|
+
|
60
|
+
/*
|
61
|
+
----------------------------------------------------------------------
|
62
|
+
M a c r o s
|
63
|
+
----------------------------------------------------------------------
|
64
|
+
*/
|
65
|
+
|
66
|
+
#define DEFAULT_SIZE 2
|
67
|
+
|
68
|
+
/**********************************************************************
|
69
|
+
* array_count
|
70
|
+
*
|
71
|
+
* Return the value of the number of elements currently in the array.
|
72
|
+
**********************************************************************/
|
73
|
+
|
74
|
+
#define array_count(a) \
|
75
|
+
((a)->top)
|
76
|
+
|
77
|
+
/**********************************************************************
|
78
|
+
* array_free
|
79
|
+
*
|
80
|
+
* Free the memory allocated to this array.
|
81
|
+
**********************************************************************/
|
82
|
+
|
83
|
+
#define array_free \
|
84
|
+
memfree
|
85
|
+
|
86
|
+
/**********************************************************************
|
87
|
+
* array_index
|
88
|
+
*
|
89
|
+
* Check to make sure that the index value is valid. Return the
|
90
|
+
* value of the nth element currently in the array.
|
91
|
+
**********************************************************************/
|
92
|
+
|
93
|
+
#define array_index(a,i) \
|
94
|
+
((i<array_count(a)) ? (a)->base[i] : 0)
|
95
|
+
|
96
|
+
/**********************************************************************
|
97
|
+
* array_limit
|
98
|
+
*
|
99
|
+
* Return the maximum number of elements that could be currently held
|
100
|
+
* in this array without further expansion.
|
101
|
+
**********************************************************************/
|
102
|
+
|
103
|
+
#define array_limit(a) \
|
104
|
+
((a)->limit)
|
105
|
+
|
106
|
+
/**********************************************************************
|
107
|
+
* array_loop
|
108
|
+
*
|
109
|
+
* Iterate through each of the array elements. Each value can then be
|
110
|
+
* accessed by:
|
111
|
+
* array_index (a, x)
|
112
|
+
**********************************************************************/
|
113
|
+
|
114
|
+
#define array_loop(a,x) \
|
115
|
+
for (x=0; x < array_count (a); x++)
|
116
|
+
|
117
|
+
/**********************************************************************
|
118
|
+
* array_top
|
119
|
+
*
|
120
|
+
* Return the last element that was pushed on this array.
|
121
|
+
**********************************************************************/
|
122
|
+
|
123
|
+
#define array_top(a) \
|
124
|
+
((a)->base[array_count (a) - 1])
|
125
|
+
|
126
|
+
/**********************************************************************
|
127
|
+
* array_value
|
128
|
+
*
|
129
|
+
* Return the nth element of the array. Don't do range checking.
|
130
|
+
**********************************************************************/
|
131
|
+
|
132
|
+
#define array_value(a,i) \
|
133
|
+
((a)->base[i])
|
134
|
+
|
135
|
+
/*----------------------------------------------------------------------
|
136
|
+
F u n c t i o n s
|
137
|
+
----------------------------------------------------------------------*/
|
138
|
+
ARRAY array_insert(ARRAY array, int index, void *value);
|
139
|
+
|
140
|
+
ARRAY array_new(int num);
|
141
|
+
|
142
|
+
ARRAY array_push(ARRAY array, void *value);
|
143
|
+
|
144
|
+
/*
|
145
|
+
#if defined(__STDC__) || defined(__cplusplus)
|
146
|
+
# define _ARGS(s) s
|
147
|
+
#else
|
148
|
+
# define _ARGS(s) ()
|
149
|
+
#endif*/
|
150
|
+
|
151
|
+
/* array.c
|
152
|
+
ARRAY array_insert
|
153
|
+
_ARGS((ARRAY array,
|
154
|
+
int index,
|
155
|
+
char *value));
|
156
|
+
|
157
|
+
ARRAY array_new
|
158
|
+
_ARGS((int num));
|
159
|
+
|
160
|
+
ARRAY array_push
|
161
|
+
_ARGS((ARRAY array,
|
162
|
+
char *value));
|
163
|
+
|
164
|
+
#undef _ARGS
|
165
|
+
*/
|
166
|
+
#endif
|
@@ -0,0 +1,95 @@
|
|
1
|
+
/* -*-C-*-
|
2
|
+
********************************************************************************
|
3
|
+
*
|
4
|
+
* File: tovars.c (Formerly to-vars.c)
|
5
|
+
* Description: Text Ordering Control Variables
|
6
|
+
* Author: Mark Seaman, OCR Technology
|
7
|
+
* Created: Wed Jan 17 12:47:29 1990
|
8
|
+
* Modified: Tue Jul 30 16:22:40 1991 (Mark Seaman) marks@hpgrlt
|
9
|
+
* Language: C
|
10
|
+
* Package: N/A
|
11
|
+
* Status: Experimental (Do Not Distribute)
|
12
|
+
*
|
13
|
+
* (c) Copyright 1990, 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
|
+
/*----------------------------------------------------------------------
|
26
|
+
I n c l u d e s
|
27
|
+
----------------------------------------------------------------------*/
|
28
|
+
#include "mfcpch.h"
|
29
|
+
#include "debug.h"
|
30
|
+
|
31
|
+
/*----------------------------------------------------------------------
|
32
|
+
V a r i a b l e s
|
33
|
+
----------------------------------------------------------------------*/
|
34
|
+
FILE *rawfile; /* Text before dictionary */
|
35
|
+
FILE *textfile; /* Text output file */
|
36
|
+
FILE *matcher_fp; //matcher log
|
37
|
+
FILE *correct_fp; //correct text
|
38
|
+
|
39
|
+
int write_output; /* Text file output */
|
40
|
+
int write_raw_output; /* Text before context */
|
41
|
+
|
42
|
+
int similarity_enable = 0;
|
43
|
+
int similarity_debug = 0;
|
44
|
+
|
45
|
+
make_float_var (certainty_threshold, -2.25, make_certainty_threshold,
|
46
|
+
4, 5, set_certainty_value, "Certainty Value");
|
47
|
+
|
48
|
+
make_int_var (num_word_choices, 30, make_num_word_choices,
|
49
|
+
4, 6, set_num_choices, "Number of choices");
|
50
|
+
|
51
|
+
make_toggle_var (blob_skip, 0, make_blob_skip,
|
52
|
+
4, 7, toggle_skip, "Skip to Next selection");
|
53
|
+
|
54
|
+
make_float_var (overlap_threshold, 0.33, make_overlap_threshold,
|
55
|
+
9, 7, set_overlap, "Overlap Threshold");
|
56
|
+
|
57
|
+
make_toggle_var (debug_3, 0, make_debug_3, 6, 3, toggle_debug_3, "Debug #3");
|
58
|
+
|
59
|
+
make_toggle_var (debug_5, 0, make_debug_5, 6, 5, toggle_debug_5, "Debug #5");
|
60
|
+
|
61
|
+
make_toggle_var (debug_8, 0, make_debug_8, 6, 8, toggle_debug_8, "Debug #8");
|
62
|
+
|
63
|
+
make_toggle_var (display_ratings, 0, make_display_ratings,
|
64
|
+
6, 9, toggle_ratings, "Ratings display");
|
65
|
+
|
66
|
+
make_toggle_var (display_text, 0, make_display_text,
|
67
|
+
6, 10, toggle_text, "Display Text");
|
68
|
+
|
69
|
+
make_toggle_var (show_bold, 1, make_show_bold,
|
70
|
+
6, 17, set_show_bold, "Show Bold Text");
|
71
|
+
|
72
|
+
/*----------------------------------------------------------------------
|
73
|
+
F u n c t i o n s
|
74
|
+
----------------------------------------------------------------------*/
|
75
|
+
/**********************************************************************
|
76
|
+
* init_textord_vars
|
77
|
+
*
|
78
|
+
* Create variables to be used by the texord section of code.
|
79
|
+
**********************************************************************/
|
80
|
+
void init_textord_vars() {
|
81
|
+
int_variable (write_output, "write_output", 0);
|
82
|
+
int_variable (write_raw_output, "write_raw_output", 0);
|
83
|
+
make_certainty_threshold();
|
84
|
+
make_num_word_choices();
|
85
|
+
make_blob_skip();
|
86
|
+
make_overlap_threshold();
|
87
|
+
make_show_bold();
|
88
|
+
|
89
|
+
make_debug_3();
|
90
|
+
make_debug_5();
|
91
|
+
make_debug_8();
|
92
|
+
|
93
|
+
make_display_ratings();
|
94
|
+
make_display_text();
|
95
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
/* -*-C-*-
|
2
|
+
********************************************************************************
|
3
|
+
*
|
4
|
+
* File: tovars.h (Formerly to-vars.h)
|
5
|
+
* Description: Do word classification
|
6
|
+
* Author: Mark Seaman, OCR Technology
|
7
|
+
* Created: Wed Oct 25 16:33:01 1989
|
8
|
+
* Modified: Mon Jul 1 14:28:23 1991 (Mark Seaman) marks@hpgrlt
|
9
|
+
* Language: C
|
10
|
+
* Package: N/A
|
11
|
+
* Status: Experimental (Do Not Distribute)
|
12
|
+
*
|
13
|
+
* (c) Copyright 1989, 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
|
+
#ifndef TOVARS_H
|
26
|
+
#define TOVARS_H
|
27
|
+
|
28
|
+
#include <stdio.h>
|
29
|
+
|
30
|
+
/*----------------------------------------------------------------------
|
31
|
+
V a r i a b l e s
|
32
|
+
----------------------------------------------------------------------*/
|
33
|
+
extern int debug_3;
|
34
|
+
extern int debug_5;
|
35
|
+
extern int debug_8;
|
36
|
+
|
37
|
+
extern FILE *rawfile; /* Text before dictionary */
|
38
|
+
extern FILE *textfile; /* Text output file */
|
39
|
+
extern FILE *correct_fp; //correct text
|
40
|
+
extern FILE *matcher_fp;
|
41
|
+
|
42
|
+
extern int blob_skip; /* Skip to next selection */
|
43
|
+
extern int num_word_choices; /* How many words to keep */
|
44
|
+
extern int similarity_enable; /* Switch for Similarity */
|
45
|
+
extern int similarity_debug; /* Level of debug output */
|
46
|
+
extern int write_raw_output; /* Text before context */
|
47
|
+
extern int write_output; /* Text file output */
|
48
|
+
//extern "C" { extern int display_ratings; } /* Show the ratings */
|
49
|
+
extern int display_ratings; /* Show the ratings */
|
50
|
+
extern int show_bold; /* Use bold text */
|
51
|
+
extern int display_text; /* Show word text */
|
52
|
+
extern int display_blocks; /* Show word as boxes */
|
53
|
+
|
54
|
+
extern float overlap_threshold; /* Overlap Threshold */
|
55
|
+
extern float certainty_threshold; /* When to quit looking */
|
56
|
+
|
57
|
+
/*----------------------------------------------------------------------
|
58
|
+
F u n c t i o n s
|
59
|
+
----------------------------------------------------------------------*/
|
60
|
+
void init_textord_vars();
|
61
|
+
#endif
|
@@ -0,0 +1,317 @@
|
|
1
|
+
/* -*-C-*-
|
2
|
+
********************************************************************************
|
3
|
+
*
|
4
|
+
* File: variables.c (Formerly variables.c)
|
5
|
+
* Description: Variable handler for control flags
|
6
|
+
* Author: Mark Seaman, OCR Technology
|
7
|
+
* Created: Tue Dec 12 09:03:49 1989
|
8
|
+
* Modified: Thu Apr 4 11:01:37 1991 (Mark Seaman) marks@hpgrlt
|
9
|
+
* Language: C
|
10
|
+
* Package: N/A
|
11
|
+
* Status: Experimental (Do Not Distribute)
|
12
|
+
*
|
13
|
+
* (c) Copyright 1989, 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
|
+
/*----------------------------------------------------------------------
|
26
|
+
I n c l u d e s
|
27
|
+
----------------------------------------------------------------------*/
|
28
|
+
#include <stdio.h>
|
29
|
+
#include <stdlib.h>
|
30
|
+
|
31
|
+
#include "variables.h"
|
32
|
+
#include "tprintf.h"
|
33
|
+
#include "listio.h"
|
34
|
+
#include "globals.h"
|
35
|
+
#include "scanutils.h"
|
36
|
+
|
37
|
+
/*----------------------------------------------------------------------
|
38
|
+
V a r i a b l e s
|
39
|
+
----------------------------------------------------------------------*/
|
40
|
+
static LIST variable_list = NIL;
|
41
|
+
//extern char *demodir;
|
42
|
+
|
43
|
+
VALUE dummy;
|
44
|
+
|
45
|
+
/*----------------------------------------------------------------------
|
46
|
+
Macros
|
47
|
+
----------------------------------------------------------------------*/
|
48
|
+
/**********************************************************************
|
49
|
+
* scan_int
|
50
|
+
*
|
51
|
+
* Scan in an integer value from a string. It might be in decimal or
|
52
|
+
* hex. Read it into "integer".
|
53
|
+
**********************************************************************/
|
54
|
+
|
55
|
+
#define scan_int(stripped,integer) \
|
56
|
+
if (stripped [2] == 'x') \
|
57
|
+
sscanf (&stripped[3], "%x", &integer); \
|
58
|
+
else \
|
59
|
+
sscanf (&stripped[1], "%d", &integer)
|
60
|
+
|
61
|
+
/*----------------------------------------------------------------------
|
62
|
+
F u n c t i o n s
|
63
|
+
----------------------------------------------------------------------*/
|
64
|
+
|
65
|
+
void free_variables() {
|
66
|
+
destroy_nodes(variable_list, free);
|
67
|
+
variable_list = NIL;
|
68
|
+
}
|
69
|
+
/**********************************************************************
|
70
|
+
* add_ptr_variable
|
71
|
+
*
|
72
|
+
* Add a new ptr variable to the global variable list. Initalize its
|
73
|
+
* value.
|
74
|
+
**********************************************************************/
|
75
|
+
void add_ptr_variable(void *address,
|
76
|
+
const char *string,
|
77
|
+
VALUE default_value,
|
78
|
+
variables_io reader,
|
79
|
+
variables_io writer) {
|
80
|
+
VARIABLE *this_var;
|
81
|
+
this_var = (VARIABLE *) malloc (sizeof (VARIABLE));
|
82
|
+
|
83
|
+
this_var->address = address;
|
84
|
+
this_var->string = string;
|
85
|
+
this_var->default_value = default_value;
|
86
|
+
this_var->type_reader = reader;
|
87
|
+
this_var->type_writer = writer;
|
88
|
+
|
89
|
+
*((void **) this_var->address) = default_value.ptr_part;
|
90
|
+
variable_list = push (variable_list, this_var);
|
91
|
+
}
|
92
|
+
|
93
|
+
|
94
|
+
/**********************************************************************
|
95
|
+
* add_32bit_variable
|
96
|
+
*
|
97
|
+
* Add a new 32bit variable to the global variable list. Initalize
|
98
|
+
* its value.
|
99
|
+
**********************************************************************/
|
100
|
+
void add_32bit_variable(void *address,
|
101
|
+
const char *string,
|
102
|
+
VALUE default_value,
|
103
|
+
variables_io reader,
|
104
|
+
variables_io writer) {
|
105
|
+
VARIABLE *this_var;
|
106
|
+
this_var = (VARIABLE *) malloc (sizeof (VARIABLE));
|
107
|
+
|
108
|
+
this_var->address = address;
|
109
|
+
this_var->string = string;
|
110
|
+
this_var->default_value = default_value;
|
111
|
+
this_var->type_reader = reader;
|
112
|
+
this_var->type_writer = writer;
|
113
|
+
|
114
|
+
*((int *) this_var->address) = default_value.int_part;
|
115
|
+
variable_list = push (variable_list, this_var);
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
/**********************************************************************
|
120
|
+
* float_read
|
121
|
+
*
|
122
|
+
* Read an integer value and save it in a variable structure.
|
123
|
+
**********************************************************************/
|
124
|
+
void float_read(VARIABLE *variable, char *string) {
|
125
|
+
float f;
|
126
|
+
|
127
|
+
#ifdef EMBEDDED
|
128
|
+
// We have no sscanf with float functionality here
|
129
|
+
*((float *) variable->address) = strtofloat(strip_line (string));
|
130
|
+
#else
|
131
|
+
sscanf (strip_line (string), "%f", &f);
|
132
|
+
*((float *) variable->address) = f;
|
133
|
+
#endif
|
134
|
+
}
|
135
|
+
|
136
|
+
|
137
|
+
/**********************************************************************
|
138
|
+
* float_write
|
139
|
+
*
|
140
|
+
* Read an integer value and save it in a variable structure.
|
141
|
+
**********************************************************************/
|
142
|
+
void float_write(VARIABLE *variable, char *string) {
|
143
|
+
float *f;
|
144
|
+
f = (float *) variable->address;
|
145
|
+
sprintf (string, "%s\t%4.2f", variable->string, *f);
|
146
|
+
}
|
147
|
+
|
148
|
+
|
149
|
+
/**********************************************************************
|
150
|
+
* int_read
|
151
|
+
*
|
152
|
+
* Read an integer value and save it in a variable structure.
|
153
|
+
**********************************************************************/
|
154
|
+
void int_read(VARIABLE *variable, char *string) {
|
155
|
+
char *stripped;
|
156
|
+
int integer;
|
157
|
+
|
158
|
+
stripped = strip_line (string);
|
159
|
+
/* Add the value */
|
160
|
+
if (stripped[0] == '+') {
|
161
|
+
scan_int(stripped, integer);
|
162
|
+
*((int *) variable->address) += integer;
|
163
|
+
}
|
164
|
+
else if (stripped[0] == '|') {
|
165
|
+
scan_int(stripped, integer);
|
166
|
+
*((int *) variable->address) = integer | *((int *) variable->address);
|
167
|
+
} /* Subtract the value */
|
168
|
+
else if (stripped[0] == '_') {
|
169
|
+
scan_int(stripped, integer);
|
170
|
+
*((int *) variable->address) = (~integer) &
|
171
|
+
*((int *) variable->address);
|
172
|
+
}
|
173
|
+
else {
|
174
|
+
/* Set the value */
|
175
|
+
if (stripped[1] == 'x') {
|
176
|
+
sscanf (&stripped[2], "%x", &integer);
|
177
|
+
}
|
178
|
+
else {
|
179
|
+
sscanf (stripped, "%d", &integer);
|
180
|
+
}
|
181
|
+
*((int *) variable->address) = integer;
|
182
|
+
}
|
183
|
+
}
|
184
|
+
|
185
|
+
|
186
|
+
/**********************************************************************
|
187
|
+
* int_write
|
188
|
+
*
|
189
|
+
* Read an integer value and save it in a variable structure.
|
190
|
+
**********************************************************************/
|
191
|
+
void int_write(VARIABLE *variable, char *string) {
|
192
|
+
sprintf (string, "%s\t%d", variable->string, *((int *) variable->address));
|
193
|
+
}
|
194
|
+
|
195
|
+
|
196
|
+
/**********************************************************************
|
197
|
+
* read_variables
|
198
|
+
*
|
199
|
+
* Read a file that contains assignments for all the desired variables.
|
200
|
+
* This type of file can be written using the function write_variables.
|
201
|
+
**********************************************************************/
|
202
|
+
void read_variables(const char *filename) {
|
203
|
+
int x = 0;
|
204
|
+
char *this_string;
|
205
|
+
LIST var_strings;
|
206
|
+
char name[1024];
|
207
|
+
FILE *fp;
|
208
|
+
/* Read the strings */
|
209
|
+
if (filename == NULL || filename[0] == '\0')
|
210
|
+
return;
|
211
|
+
|
212
|
+
strcpy(name, demodir);
|
213
|
+
strcat (name, "tessdata/tessconfigs/");
|
214
|
+
strcat(name, filename);
|
215
|
+
if ((fp = fopen (name, "r")) == NULL)
|
216
|
+
strcpy(name, filename);
|
217
|
+
else
|
218
|
+
fclose(fp);
|
219
|
+
var_strings = read_list (name);
|
220
|
+
iterate(var_strings) {
|
221
|
+
/* Get the name string */
|
222
|
+
this_string = (char *) first_node (var_strings);
|
223
|
+
if (this_string[0] != '#') {
|
224
|
+
for (x = 0;
|
225
|
+
x < strlen (this_string) && this_string[x] != ' '
|
226
|
+
&& this_string[x] != '\t'; x++);
|
227
|
+
this_string[x] = '\0';
|
228
|
+
/* Find variable record */
|
229
|
+
if (!set_old_style_variable(this_string, this_string + x + 1)) {
|
230
|
+
tprintf("error: Could not find variable '%s'\n", this_string);
|
231
|
+
exit(1); // ?err_exit ();
|
232
|
+
}
|
233
|
+
}
|
234
|
+
}
|
235
|
+
}
|
236
|
+
|
237
|
+
bool set_old_style_variable(const char* variable, const char* value) {
|
238
|
+
char* var_variable = strdup(variable);
|
239
|
+
char* var_value = strdup(value);
|
240
|
+
|
241
|
+
VARIABLE *this_var;
|
242
|
+
this_var = (VARIABLE *)first_node(search(variable_list, var_variable,
|
243
|
+
same_var_name));
|
244
|
+
if (this_var != NULL) {
|
245
|
+
(*(this_var->type_reader)) (this_var, var_value);
|
246
|
+
}
|
247
|
+
free(var_variable);
|
248
|
+
free(var_value);
|
249
|
+
return this_var != NULL;
|
250
|
+
}
|
251
|
+
|
252
|
+
|
253
|
+
/**********************************************************************
|
254
|
+
* same_var_name
|
255
|
+
*
|
256
|
+
* Return TRUE if the VARIABLE has the name string in it.
|
257
|
+
**********************************************************************/
|
258
|
+
int same_var_name(void *item1, //VARIABLE *variable,
|
259
|
+
void *item2) { //char *string)
|
260
|
+
VARIABLE *variable;
|
261
|
+
char *string;
|
262
|
+
|
263
|
+
variable = (VARIABLE *) item1;
|
264
|
+
string = (char *) item2;
|
265
|
+
|
266
|
+
if (strcmp (variable->string, string))
|
267
|
+
return (FALSE);
|
268
|
+
else
|
269
|
+
return (TRUE);
|
270
|
+
}
|
271
|
+
|
272
|
+
|
273
|
+
/**********************************************************************
|
274
|
+
* string_read
|
275
|
+
*
|
276
|
+
* Read an integer value and save it in a variable structure.
|
277
|
+
**********************************************************************/
|
278
|
+
void string_read(VARIABLE *variable, char *string) {
|
279
|
+
char *value;
|
280
|
+
|
281
|
+
value = strsave (strip_line (string));
|
282
|
+
*((char **) variable->address) = value;
|
283
|
+
}
|
284
|
+
|
285
|
+
|
286
|
+
/**********************************************************************
|
287
|
+
* string_write
|
288
|
+
*
|
289
|
+
* Read an integer value and save it in a variable structure.
|
290
|
+
**********************************************************************/
|
291
|
+
void string_write(VARIABLE *variable, char *string) {
|
292
|
+
sprintf (string, "%s\t%s", variable->string,
|
293
|
+
*((char **) variable->address));
|
294
|
+
}
|
295
|
+
|
296
|
+
|
297
|
+
/**********************************************************************
|
298
|
+
* strip_line
|
299
|
+
*
|
300
|
+
* Remove the name off the front of the line and strip the white space
|
301
|
+
* before and after the value.
|
302
|
+
**********************************************************************/
|
303
|
+
char *strip_line(char *string) {
|
304
|
+
int x;
|
305
|
+
int y;
|
306
|
+
|
307
|
+
x = 0;
|
308
|
+
/* Skip over whitespace */
|
309
|
+
while (x < strlen (string) && (string[x] == '\t' || string[x] == ' '))
|
310
|
+
x++;
|
311
|
+
/* Strip trailing whitespace */
|
312
|
+
for (y = strlen (string);
|
313
|
+
y >= 0 && (string[y - 1] == '\t' || string[y - 1] == ' '); y--)
|
314
|
+
string[y] = '\0';
|
315
|
+
/* Return result */
|
316
|
+
return (&string[x]);
|
317
|
+
}
|