isbn 2.0.4 → 2.0.5
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/{README → README.md} +5 -11
- data/Rakefile +20 -14
- data/isbn.gemspec +23 -0
- data/lib/isbn.rb +2 -0
- data/test/isbn_spec.rb +1 -1
- metadata +29 -316
- data/VERSION +0 -1
- data/src/gocr-0.48/.cvsignore +0 -6
- data/src/gocr-0.48/AUTHORS +0 -7
- data/src/gocr-0.48/BUGS +0 -55
- data/src/gocr-0.48/CREDITS +0 -17
- data/src/gocr-0.48/HISTORY +0 -243
- data/src/gocr-0.48/INSTALL +0 -83
- data/src/gocr-0.48/Makefile +0 -193
- data/src/gocr-0.48/Makefile.in +0 -193
- data/src/gocr-0.48/README +0 -165
- data/src/gocr-0.48/READMEde.txt +0 -80
- data/src/gocr-0.48/REMARK.txt +0 -18
- data/src/gocr-0.48/REVIEW +0 -538
- data/src/gocr-0.48/TODO +0 -65
- data/src/gocr-0.48/bin/.cvsignore +0 -2
- data/src/gocr-0.48/bin/create_db +0 -38
- data/src/gocr-0.48/bin/gocr.tcl +0 -527
- data/src/gocr-0.48/bin/gocr_chk.sh +0 -44
- data/src/gocr-0.48/configure +0 -4689
- data/src/gocr-0.48/configure.in +0 -71
- data/src/gocr-0.48/doc/.#Makefile.1.6 +0 -39
- data/src/gocr-0.48/doc/.cvsignore +0 -2
- data/src/gocr-0.48/doc/Makefile +0 -39
- data/src/gocr-0.48/doc/Makefile.in +0 -39
- data/src/gocr-0.48/doc/example.dtd +0 -53
- data/src/gocr-0.48/doc/example.xml +0 -21
- data/src/gocr-0.48/doc/examples.txt +0 -67
- data/src/gocr-0.48/doc/gocr.html +0 -578
- data/src/gocr-0.48/doc/unicode.txt +0 -57
- data/src/gocr-0.48/examples/.#Makefile.1.22 +0 -166
- data/src/gocr-0.48/examples/4x6.png +0 -0
- data/src/gocr-0.48/examples/4x6.txt +0 -2
- data/src/gocr-0.48/examples/5x7.png +0 -0
- data/src/gocr-0.48/examples/5x7.png.txt +0 -2
- data/src/gocr-0.48/examples/5x8.png +0 -0
- data/src/gocr-0.48/examples/5x8.png.txt +0 -2
- data/src/gocr-0.48/examples/Makefile +0 -166
- data/src/gocr-0.48/examples/color.fig +0 -20
- data/src/gocr-0.48/examples/ex.fig +0 -16
- data/src/gocr-0.48/examples/font.tex +0 -22
- data/src/gocr-0.48/examples/font1.tex +0 -46
- data/src/gocr-0.48/examples/font2.fig +0 -27
- data/src/gocr-0.48/examples/font_nw.tex +0 -24
- data/src/gocr-0.48/examples/handwrt1.jpg +0 -0
- data/src/gocr-0.48/examples/handwrt1.txt +0 -10
- data/src/gocr-0.48/examples/inverse.fig +0 -20
- data/src/gocr-0.48/examples/matrix.jpg +0 -0
- data/src/gocr-0.48/examples/ocr-a-subset.png +0 -0
- data/src/gocr-0.48/examples/ocr-a-subset.png.txt +0 -4
- data/src/gocr-0.48/examples/ocr-a.png +0 -0
- data/src/gocr-0.48/examples/ocr-a.txt +0 -6
- data/src/gocr-0.48/examples/ocr-b.png +0 -0
- data/src/gocr-0.48/examples/ocr-b.png.txt +0 -4
- data/src/gocr-0.48/examples/polish.tex +0 -28
- data/src/gocr-0.48/examples/rotate45.fig +0 -14
- data/src/gocr-0.48/examples/score +0 -36
- data/src/gocr-0.48/examples/text.tex +0 -28
- data/src/gocr-0.48/gpl.html +0 -537
- data/src/gocr-0.48/include/.cvsignore +0 -2
- data/src/gocr-0.48/include/config.h +0 -36
- data/src/gocr-0.48/include/config.h.in +0 -36
- data/src/gocr-0.48/include/version.h +0 -2
- data/src/gocr-0.48/install-sh +0 -3
- data/src/gocr-0.48/make.bat +0 -57
- data/src/gocr-0.48/man/.cvsignore +0 -2
- data/src/gocr-0.48/man/Makefile +0 -29
- data/src/gocr-0.48/man/Makefile.in +0 -29
- data/src/gocr-0.48/man/man1/gocr.1 +0 -166
- data/src/gocr-0.48/src/.cvsignore +0 -4
- data/src/gocr-0.48/src/Makefile +0 -132
- data/src/gocr-0.48/src/Makefile.in +0 -132
- data/src/gocr-0.48/src/amiga.h +0 -31
- data/src/gocr-0.48/src/barcode.c +0 -846
- data/src/gocr-0.48/src/barcode.c.orig +0 -593
- data/src/gocr-0.48/src/barcode.h +0 -11
- data/src/gocr-0.48/src/box.c +0 -372
- data/src/gocr-0.48/src/database.c +0 -462
- data/src/gocr-0.48/src/detect.c +0 -943
- data/src/gocr-0.48/src/gocr.c +0 -373
- data/src/gocr-0.48/src/gocr.h +0 -288
- data/src/gocr-0.48/src/jconv.c +0 -168
- data/src/gocr-0.48/src/job.c +0 -84
- data/src/gocr-0.48/src/lines.c +0 -350
- data/src/gocr-0.48/src/list.c +0 -334
- data/src/gocr-0.48/src/list.h +0 -90
- data/src/gocr-0.48/src/ocr0.c +0 -6756
- data/src/gocr-0.48/src/ocr0.h +0 -63
- data/src/gocr-0.48/src/ocr0n.c +0 -1475
- data/src/gocr-0.48/src/ocr1.c +0 -85
- data/src/gocr-0.48/src/ocr1.h +0 -3
- data/src/gocr-0.48/src/otsu.c +0 -289
- data/src/gocr-0.48/src/otsu.h +0 -23
- data/src/gocr-0.48/src/output.c +0 -289
- data/src/gocr-0.48/src/output.h +0 -37
- data/src/gocr-0.48/src/pcx.c +0 -153
- data/src/gocr-0.48/src/pcx.h +0 -9
- data/src/gocr-0.48/src/pgm2asc.c +0 -2893
- data/src/gocr-0.48/src/pgm2asc.h +0 -105
- data/src/gocr-0.48/src/pixel.c +0 -537
- data/src/gocr-0.48/src/pnm.c +0 -533
- data/src/gocr-0.48/src/pnm.h +0 -35
- data/src/gocr-0.48/src/progress.c +0 -87
- data/src/gocr-0.48/src/progress.h +0 -42
- data/src/gocr-0.48/src/remove.c +0 -703
- data/src/gocr-0.48/src/tga.c +0 -87
- data/src/gocr-0.48/src/tga.h +0 -6
- data/src/gocr-0.48/src/unicode.c +0 -1314
- data/src/gocr-0.48/src/unicode.h +0 -1257
- data/src/jpeg-7/Makefile.am +0 -133
- data/src/jpeg-7/Makefile.in +0 -1089
- data/src/jpeg-7/README +0 -322
- data/src/jpeg-7/aclocal.m4 +0 -8990
- data/src/jpeg-7/ansi2knr.1 +0 -36
- data/src/jpeg-7/ansi2knr.c +0 -739
- data/src/jpeg-7/cderror.h +0 -132
- data/src/jpeg-7/cdjpeg.c +0 -181
- data/src/jpeg-7/cdjpeg.h +0 -187
- data/src/jpeg-7/change.log +0 -270
- data/src/jpeg-7/cjpeg.1 +0 -325
- data/src/jpeg-7/cjpeg.c +0 -616
- data/src/jpeg-7/ckconfig.c +0 -402
- data/src/jpeg-7/coderules.txt +0 -118
- data/src/jpeg-7/config.guess +0 -1561
- data/src/jpeg-7/config.sub +0 -1686
- data/src/jpeg-7/configure +0 -17139
- data/src/jpeg-7/configure.ac +0 -317
- data/src/jpeg-7/depcomp +0 -630
- data/src/jpeg-7/djpeg.1 +0 -251
- data/src/jpeg-7/djpeg.c +0 -617
- data/src/jpeg-7/example.c +0 -433
- data/src/jpeg-7/filelist.txt +0 -215
- data/src/jpeg-7/install-sh +0 -520
- data/src/jpeg-7/install.txt +0 -1097
- data/src/jpeg-7/jaricom.c +0 -148
- data/src/jpeg-7/jcapimin.c +0 -282
- data/src/jpeg-7/jcapistd.c +0 -161
- data/src/jpeg-7/jcarith.c +0 -921
- data/src/jpeg-7/jccoefct.c +0 -453
- data/src/jpeg-7/jccolor.c +0 -459
- data/src/jpeg-7/jcdctmgr.c +0 -482
- data/src/jpeg-7/jchuff.c +0 -1612
- data/src/jpeg-7/jcinit.c +0 -65
- data/src/jpeg-7/jcmainct.c +0 -293
- data/src/jpeg-7/jcmarker.c +0 -667
- data/src/jpeg-7/jcmaster.c +0 -770
- data/src/jpeg-7/jcomapi.c +0 -106
- data/src/jpeg-7/jconfig.bcc +0 -48
- data/src/jpeg-7/jconfig.cfg +0 -45
- data/src/jpeg-7/jconfig.dj +0 -38
- data/src/jpeg-7/jconfig.mac +0 -43
- data/src/jpeg-7/jconfig.manx +0 -43
- data/src/jpeg-7/jconfig.mc6 +0 -52
- data/src/jpeg-7/jconfig.sas +0 -43
- data/src/jpeg-7/jconfig.st +0 -42
- data/src/jpeg-7/jconfig.txt +0 -155
- data/src/jpeg-7/jconfig.vc +0 -45
- data/src/jpeg-7/jconfig.vms +0 -37
- data/src/jpeg-7/jconfig.wat +0 -38
- data/src/jpeg-7/jcparam.c +0 -632
- data/src/jpeg-7/jcprepct.c +0 -358
- data/src/jpeg-7/jcsample.c +0 -545
- data/src/jpeg-7/jctrans.c +0 -381
- data/src/jpeg-7/jdapimin.c +0 -396
- data/src/jpeg-7/jdapistd.c +0 -275
- data/src/jpeg-7/jdarith.c +0 -762
- data/src/jpeg-7/jdatadst.c +0 -151
- data/src/jpeg-7/jdatasrc.c +0 -212
- data/src/jpeg-7/jdcoefct.c +0 -736
- data/src/jpeg-7/jdcolor.c +0 -396
- data/src/jpeg-7/jdct.h +0 -393
- data/src/jpeg-7/jddctmgr.c +0 -382
- data/src/jpeg-7/jdhuff.c +0 -1309
- data/src/jpeg-7/jdinput.c +0 -384
- data/src/jpeg-7/jdmainct.c +0 -512
- data/src/jpeg-7/jdmarker.c +0 -1360
- data/src/jpeg-7/jdmaster.c +0 -663
- data/src/jpeg-7/jdmerge.c +0 -400
- data/src/jpeg-7/jdpostct.c +0 -290
- data/src/jpeg-7/jdsample.c +0 -361
- data/src/jpeg-7/jdtrans.c +0 -136
- data/src/jpeg-7/jerror.c +0 -252
- data/src/jpeg-7/jerror.h +0 -304
- data/src/jpeg-7/jfdctflt.c +0 -174
- data/src/jpeg-7/jfdctfst.c +0 -230
- data/src/jpeg-7/jfdctint.c +0 -4348
- data/src/jpeg-7/jidctflt.c +0 -242
- data/src/jpeg-7/jidctfst.c +0 -368
- data/src/jpeg-7/jidctint.c +0 -5137
- data/src/jpeg-7/jinclude.h +0 -91
- data/src/jpeg-7/jmemansi.c +0 -167
- data/src/jpeg-7/jmemdos.c +0 -638
- data/src/jpeg-7/jmemdosa.asm +0 -379
- data/src/jpeg-7/jmemmac.c +0 -289
- data/src/jpeg-7/jmemmgr.c +0 -1118
- data/src/jpeg-7/jmemname.c +0 -276
- data/src/jpeg-7/jmemnobs.c +0 -109
- data/src/jpeg-7/jmemsys.h +0 -198
- data/src/jpeg-7/jmorecfg.h +0 -369
- data/src/jpeg-7/jpegint.h +0 -395
- data/src/jpeg-7/jpeglib.h +0 -1135
- data/src/jpeg-7/jpegtran.1 +0 -272
- data/src/jpeg-7/jpegtran.c +0 -546
- data/src/jpeg-7/jquant1.c +0 -856
- data/src/jpeg-7/jquant2.c +0 -1310
- data/src/jpeg-7/jutils.c +0 -179
- data/src/jpeg-7/jversion.h +0 -14
- data/src/jpeg-7/libjpeg.map +0 -4
- data/src/jpeg-7/libjpeg.txt +0 -3067
- data/src/jpeg-7/ltmain.sh +0 -8406
- data/src/jpeg-7/makcjpeg.st +0 -36
- data/src/jpeg-7/makdjpeg.st +0 -36
- data/src/jpeg-7/makeadsw.vc6 +0 -77
- data/src/jpeg-7/makeasln.vc9 +0 -33
- data/src/jpeg-7/makecdep.vc6 +0 -82
- data/src/jpeg-7/makecdsp.vc6 +0 -130
- data/src/jpeg-7/makecmak.vc6 +0 -159
- data/src/jpeg-7/makecvcp.vc9 +0 -186
- data/src/jpeg-7/makeddep.vc6 +0 -82
- data/src/jpeg-7/makeddsp.vc6 +0 -130
- data/src/jpeg-7/makedmak.vc6 +0 -159
- data/src/jpeg-7/makedvcp.vc9 +0 -186
- data/src/jpeg-7/makefile.ansi +0 -220
- data/src/jpeg-7/makefile.bcc +0 -291
- data/src/jpeg-7/makefile.dj +0 -226
- data/src/jpeg-7/makefile.manx +0 -220
- data/src/jpeg-7/makefile.mc6 +0 -255
- data/src/jpeg-7/makefile.mms +0 -224
- data/src/jpeg-7/makefile.sas +0 -258
- data/src/jpeg-7/makefile.unix +0 -234
- data/src/jpeg-7/makefile.vc +0 -217
- data/src/jpeg-7/makefile.vms +0 -142
- data/src/jpeg-7/makefile.wat +0 -239
- data/src/jpeg-7/makejdep.vc6 +0 -423
- data/src/jpeg-7/makejdsp.vc6 +0 -285
- data/src/jpeg-7/makejdsw.vc6 +0 -29
- data/src/jpeg-7/makejmak.vc6 +0 -425
- data/src/jpeg-7/makejsln.vc9 +0 -17
- data/src/jpeg-7/makejvcp.vc9 +0 -328
- data/src/jpeg-7/makeproj.mac +0 -213
- data/src/jpeg-7/makerdep.vc6 +0 -6
- data/src/jpeg-7/makerdsp.vc6 +0 -78
- data/src/jpeg-7/makermak.vc6 +0 -110
- data/src/jpeg-7/makervcp.vc9 +0 -133
- data/src/jpeg-7/maketdep.vc6 +0 -43
- data/src/jpeg-7/maketdsp.vc6 +0 -122
- data/src/jpeg-7/maketmak.vc6 +0 -131
- data/src/jpeg-7/maketvcp.vc9 +0 -178
- data/src/jpeg-7/makewdep.vc6 +0 -6
- data/src/jpeg-7/makewdsp.vc6 +0 -78
- data/src/jpeg-7/makewmak.vc6 +0 -110
- data/src/jpeg-7/makewvcp.vc9 +0 -133
- data/src/jpeg-7/makljpeg.st +0 -68
- data/src/jpeg-7/maktjpeg.st +0 -30
- data/src/jpeg-7/makvms.opt +0 -4
- data/src/jpeg-7/missing +0 -376
- data/src/jpeg-7/rdbmp.c +0 -439
- data/src/jpeg-7/rdcolmap.c +0 -253
- data/src/jpeg-7/rdgif.c +0 -38
- data/src/jpeg-7/rdjpgcom.1 +0 -63
- data/src/jpeg-7/rdjpgcom.c +0 -515
- data/src/jpeg-7/rdppm.c +0 -459
- data/src/jpeg-7/rdrle.c +0 -387
- data/src/jpeg-7/rdswitch.c +0 -365
- data/src/jpeg-7/rdtarga.c +0 -500
- data/src/jpeg-7/structure.txt +0 -945
- data/src/jpeg-7/testimg.bmp +0 -0
- data/src/jpeg-7/testimg.jpg +0 -0
- data/src/jpeg-7/testimg.ppm +0 -4
- data/src/jpeg-7/testimgp.jpg +0 -0
- data/src/jpeg-7/testorig.jpg +0 -0
- data/src/jpeg-7/testprog.jpg +0 -0
- data/src/jpeg-7/transupp.c +0 -1533
- data/src/jpeg-7/transupp.h +0 -205
- data/src/jpeg-7/usage.txt +0 -605
- data/src/jpeg-7/wizard.txt +0 -211
- data/src/jpeg-7/wrbmp.c +0 -442
- data/src/jpeg-7/wrgif.c +0 -399
- data/src/jpeg-7/wrjpgcom.1 +0 -103
- data/src/jpeg-7/wrjpgcom.c +0 -583
- data/src/jpeg-7/wrppm.c +0 -269
- data/src/jpeg-7/wrrle.c +0 -305
- data/src/jpeg-7/wrtarga.c +0 -253
data/src/gocr-0.48/TODO
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
TODO LIST
|
|
2
|
-
|
|
3
|
-
Please send any ideas.
|
|
4
|
-
|
|
5
|
-
Next release (0.4x)
|
|
6
|
-
- quality test script for groups of samples (to ensure improvement in recognition)
|
|
7
|
-
single chars or single chars in words, clean and difficult sets,
|
|
8
|
-
formatted texts
|
|
9
|
-
false negative + false positive
|
|
10
|
-
start with numbers? option numbers only?
|
|
11
|
-
output: find fname.{jpg,png} + fname.txt + compare output gocr against txt
|
|
12
|
-
options: [testpath] [testchars]
|
|
13
|
-
bin/gocr_chk.sh testbase/free/{clean,glued,dusty}/{numbers,text}/
|
|
14
|
-
bin/gocr_chk.sh jocr/examples tmp09
|
|
15
|
-
- fix problem with cutting melted chars (using vector frames)
|
|
16
|
-
- better detection of agglutinated serifs (Gutenberg scans 086.png+171.png)
|
|
17
|
-
- vectorize recognition (big step!, relation to other OSS?)
|
|
18
|
-
(find min distance to ideal vector patterns, start with <>())
|
|
19
|
-
- frame_nn is marking only the borders like frame_vector and removed later
|
|
20
|
-
- handle broken and glueed chars by the database algorithm (-m 256 -m 130)
|
|
21
|
-
- improve get_line2(), implement distance_to_point and distance_to_line
|
|
22
|
-
- dot-matrix printouts (examples/matrix.jpg) (german: Nadeldrucker)
|
|
23
|
-
- examples/inverse.pcx + examples/rotate45.pcx by nearest-box-to-line alg.
|
|
24
|
-
or mean nearest box (or its 4 edges) directions,
|
|
25
|
-
rotate only boxes (by creating new greater boxes and tread as new image)
|
|
26
|
-
- proof replacement of getTextLine by getXMLline via pipe(?) or stdout
|
|
27
|
-
is pipe available on all platforms?
|
|
28
|
-
- docu about ispell using via XML (what needed, test in gocr.tcl)
|
|
29
|
-
- replace rest of UNDEFINED in unicode.c by its correct strings
|
|
30
|
-
- add probability for box->m1..m4 (to reduce errors caused by bad line-scan)
|
|
31
|
-
call line detection function second time to improve unsure line data
|
|
32
|
-
|
|
33
|
-
Next release (0.5x)
|
|
34
|
-
- reduce pixel data by vectorization (big change, faster)
|
|
35
|
-
- writing images through pipes (like reading)
|
|
36
|
-
- using dictionary (optional) for replacing not recognized chars
|
|
37
|
-
- Karsten.Hilbert@gmx.net: use ORChie WordBox-format
|
|
38
|
-
see http://http.cs.berkeley.edu/~fateman/kathey/ocrchie.html
|
|
39
|
-
aspell instead of ispell
|
|
40
|
-
|
|
41
|
-
Near future: (planned version)
|
|
42
|
-
- rewrite install-routine
|
|
43
|
-
- perspective distortion (for cameras)
|
|
44
|
-
- genetic algorithms engine (already in development, 0.8?). It includes
|
|
45
|
-
feature extraction and classification
|
|
46
|
-
- support for other languages (may affect context_correction(), etc) (0.6?)
|
|
47
|
-
- support for diagramation. Can be done using the Unicode+new stuff. I (bbg)
|
|
48
|
-
have some ideas.
|
|
49
|
-
|
|
50
|
-
Far future:
|
|
51
|
-
- gimp plugin
|
|
52
|
-
- color support
|
|
53
|
-
- Braille detection (usefull for blinds?)
|
|
54
|
-
see: American Journal of Physics Vol. 70, No. 7, p 684-688 (2002)
|
|
55
|
-
or use special foils
|
|
56
|
-
- read image in smaller parts, to reduce memory usage.
|
|
57
|
-
- frames should be recognized
|
|
58
|
-
- better distance function (comparision of characters)
|
|
59
|
-
- detection of orientation (i.a. 90,180,270deg rotation)
|
|
60
|
-
- picture extraction
|
|
61
|
-
- math formula detection, font type detection
|
|
62
|
-
- handwritten texts (blockletters)
|
|
63
|
-
--- uff, really a lot of work ---
|
|
64
|
-
- Feel free and add your suggestions and wishes,
|
|
65
|
-
or tell me, what is the most important point for you.
|
data/src/gocr-0.48/bin/create_db
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#! /bin/bash
|
|
2
|
-
# v0.1 1st release
|
|
3
|
-
# v0.2 0 added
|
|
4
|
-
# v0.2a1 convert renamed to jconv
|
|
5
|
-
# v0.3 jconv replaced by convert (ImageMagick)
|
|
6
|
-
#
|
|
7
|
-
echo "create database ./db/db.lst ./db/db.log ./db/db_XXXX.pbm"
|
|
8
|
-
if ! test -d db; then mkdir db; fi
|
|
9
|
-
if test -r db/db.lst; then echo "database exist";exit; fi
|
|
10
|
-
if ! test -x ./jconv; then make jconv; fi
|
|
11
|
-
nc=0
|
|
12
|
-
# roman typewriter italic bold-face slanted small caps sans-serif
|
|
13
|
-
for font in "\rm" "\tt" "\it" "\bf" "\sl" "\sc" "\sf"; do
|
|
14
|
-
echo -n " font: $font "
|
|
15
|
-
for c in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9; do
|
|
16
|
-
echo -n "$c"
|
|
17
|
-
cat << END >a.tex
|
|
18
|
-
\documentclass[12pt]{article}\pagestyle{empty}
|
|
19
|
-
\topmargin=-50mm \textheight=20mm \textwidth=20mm
|
|
20
|
-
\oddsidemargin=-20mm \evensidemargin=-20mm
|
|
21
|
-
\begin{document}
|
|
22
|
-
$font $c
|
|
23
|
-
\end{document}
|
|
24
|
-
END
|
|
25
|
-
ns=$(printf "%04d" $nc)
|
|
26
|
-
echo "db_$ns.pbm $c $font" >>db/db.lst
|
|
27
|
-
latex a.tex >>db/db.log
|
|
28
|
-
# shift to left,bottom edge
|
|
29
|
-
dvips -E -O -0.3in,11.0in -T 4.0in,4.0in -o a.ps a.dvi 2>>db/db.log
|
|
30
|
-
# -q gs (0,0)=left,bottom
|
|
31
|
-
gs -dNOPAUSE -r600 -sPAPERSIZE=a10 -sDEVICE=pbmraw -sOutputFile=db/db_$ns.pbm - <a.ps >>db/db.log
|
|
32
|
-
convert -crop 0x0+1+1 db/db_$ns.pbm db/db_$ns.pbm 2>>db/db.log
|
|
33
|
-
nc=$(($nc + 1))
|
|
34
|
-
done
|
|
35
|
-
echo ". ok"
|
|
36
|
-
done
|
|
37
|
-
#rm -f a.tex
|
|
38
|
-
echo "finished"
|
data/src/gocr-0.48/bin/gocr.tcl
DELETED
|
@@ -1,527 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
# --- tcl/tk-GUI for gocr --- (c) Joerg Schulenburg
|
|
3
|
-
# start: wish gocr.tcl
|
|
4
|
-
#
|
|
5
|
-
# tested on: tk8.0 (linux,win95)
|
|
6
|
-
#
|
|
7
|
-
# ToDo:
|
|
8
|
-
# - better using wishx with extended Tcl? (for pipe etc.)
|
|
9
|
-
# - Reading from stderr of child???
|
|
10
|
-
#
|
|
11
|
-
# this is a multiline comment in wish, but not in sh \
|
|
12
|
-
exec wish -f $0 $@
|
|
13
|
-
|
|
14
|
-
set ver 0.3.6
|
|
15
|
-
set gocrver 0.3.5
|
|
16
|
-
|
|
17
|
-
# v0.3.6
|
|
18
|
-
# - adaption to gocr v0.3, new options
|
|
19
|
-
# ToDo:
|
|
20
|
-
# - xviewer as option (xli), proc view { image } { handle it }
|
|
21
|
-
# image gif ppm pgm (use xli -geometry WxH[{+-}X{+-}Y] out30.bmp #!)
|
|
22
|
-
# - output file as option, colored text (bad chars red)
|
|
23
|
-
# - last/current command on status line (at bottom)
|
|
24
|
-
# - capture error channel from gocr seperately
|
|
25
|
-
# - use -f inifile as option
|
|
26
|
-
#
|
|
27
|
-
# Thanks to famous tk/tcl developper! Realy good language for x11 beginner.
|
|
28
|
-
#
|
|
29
|
-
wm title . "GOCR Tcl frontend $ver"
|
|
30
|
-
|
|
31
|
-
set spacewidth 0
|
|
32
|
-
set graylevel 160
|
|
33
|
-
set dustsize 20
|
|
34
|
-
set imgviewer "xli -geometry 400x400 "
|
|
35
|
-
set gocrpath "gocr"
|
|
36
|
-
set gocraddopt "-e - -f UTF8"
|
|
37
|
-
set file "../examples/text.pbm"
|
|
38
|
-
set ofile "out01.txt"
|
|
39
|
-
# entry out{n+1}.txt can automaticly generated!
|
|
40
|
-
if $argc {
|
|
41
|
-
puts " ignore $argc arguments: $argv"
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
frame .mbar -borderwidth 1 -relief raised
|
|
45
|
-
pack .mbar -fill x
|
|
46
|
-
|
|
47
|
-
menubutton .mbar.file -text "File" -menu .mbar.file.m
|
|
48
|
-
pack .mbar.file -side left
|
|
49
|
-
menu .mbar.file.m
|
|
50
|
-
# .mbar.file.m add command -label "create font1.pbm" -command exit
|
|
51
|
-
.mbar.file.m add command -label "Clear output" -command {$log delete 0.0 end}
|
|
52
|
-
.mbar.file.m add command -label "Save output" -command {ofileDialog .mbar.file.m; SaveText $ofile}
|
|
53
|
-
.mbar.file.m add command -label "Exit" -command exit
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
menubutton .mbar.options -text "Options" -menu .mbar.options.m
|
|
57
|
-
pack .mbar.options -side left
|
|
58
|
-
menu .mbar.options.m
|
|
59
|
-
.mbar.options.m add command -label "set Options" -command Option
|
|
60
|
-
.mbar.options.m add command -label "Save options" -command SaveOpt
|
|
61
|
-
.mbar.options.m add command -label "Load options" -command LoadOpt
|
|
62
|
-
set m1 0
|
|
63
|
-
set m2 0
|
|
64
|
-
set m3 0
|
|
65
|
-
set m4 0
|
|
66
|
-
set m5 0
|
|
67
|
-
set m6 0
|
|
68
|
-
set v0 0
|
|
69
|
-
set v1 0
|
|
70
|
-
set v2 0
|
|
71
|
-
set v3 0
|
|
72
|
-
set v4 0
|
|
73
|
-
set v5 0
|
|
74
|
-
# set for automatic detection
|
|
75
|
-
set autos 1
|
|
76
|
-
set autol 1
|
|
77
|
-
set autod 1
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
menubutton .mbar.help -text "Help" -menu .mbar.help.m
|
|
81
|
-
pack .mbar.help -side right
|
|
82
|
-
menu .mbar.help.m
|
|
83
|
-
.mbar.help.m add command -label "About" -command aboutBox
|
|
84
|
-
# .mbar.help.m add command -label "Version"
|
|
85
|
-
|
|
86
|
-
# --------------------- action frame -----------------------
|
|
87
|
-
frame .abar -borderwidth 1 -relief sunken
|
|
88
|
-
pack .abar -fill x
|
|
89
|
-
|
|
90
|
-
set but [button .abar.go -text "Run it" -command Run]
|
|
91
|
-
#button .abar.go -text "Run it" -command { Run }
|
|
92
|
-
pack .abar.go -side left
|
|
93
|
-
|
|
94
|
-
set f .abar
|
|
95
|
-
set w .abar
|
|
96
|
-
label .abar.labf -text "File:"
|
|
97
|
-
button .abar.file -text "Browse" -command "fileDialog $w $f.entf open"
|
|
98
|
-
button .abar.show -text "Show" -command "Show"
|
|
99
|
-
button .abar.spell -text "Spell" -command "Spell"
|
|
100
|
-
button .abar.scan -text "Scan" -command "Scan"
|
|
101
|
-
entry .abar.entf -width 40
|
|
102
|
-
pack .abar.labf -side left
|
|
103
|
-
pack .abar.entf -side left
|
|
104
|
-
pack .abar.file -side left
|
|
105
|
-
pack .abar.show -side left
|
|
106
|
-
pack .abar.spell -side left
|
|
107
|
-
pack .abar.scan -side left
|
|
108
|
-
.abar.entf insert 0 $file
|
|
109
|
-
|
|
110
|
-
label .abar.status -text "ready"
|
|
111
|
-
pack .abar.status -side right
|
|
112
|
-
|
|
113
|
-
# ------------------ canvas, text ? -----------------
|
|
114
|
-
#canvas .pad -background white
|
|
115
|
-
#pack .pad
|
|
116
|
-
|
|
117
|
-
frame .t
|
|
118
|
-
#text .t
|
|
119
|
-
#pack .t
|
|
120
|
-
##.t insert end "history:"
|
|
121
|
-
##.t configure -state disabled
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
set log [text .t.log -width 80 -height 30 \
|
|
125
|
-
-borderwidth 2 -relief raised -setgrid true\
|
|
126
|
-
-yscrollcommand {.t.scroll set}]
|
|
127
|
-
scrollbar .t.scroll -command {.t.log yview}
|
|
128
|
-
pack .t.scroll -side right -fill y
|
|
129
|
-
pack .t.log -side left -fill both -expand true
|
|
130
|
-
# pack .t -side top -fill both -expand true
|
|
131
|
-
#####################################################
|
|
132
|
-
|
|
133
|
-
frame .tmsg
|
|
134
|
-
set log2 [text .tmsg.log -width 80 -height 5 \
|
|
135
|
-
-borderwidth 2 -relief raised -setgrid true\
|
|
136
|
-
-yscrollcommand {.tmsg.scroll set}]
|
|
137
|
-
scrollbar .tmsg.scroll -command {.tmsg.log yview}
|
|
138
|
-
pack .tmsg.scroll -side right -fill y
|
|
139
|
-
pack .tmsg.log -side left -fill both -expand true
|
|
140
|
-
pack .t .tmsg -side top -fill both -expand true
|
|
141
|
-
#####################################################
|
|
142
|
-
|
|
143
|
-
bind .abar.entf <Return> Run
|
|
144
|
-
bind .abar.entf <Control-c> Stop
|
|
145
|
-
focus .abar.entf
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
$log2 insert end "\n ! ! ! This program is in development. Use carefully ! ! !\n\n"
|
|
149
|
-
|
|
150
|
-
# tk_messageBox -icon info -type ok -title "Info" -message \
|
|
151
|
-
# "This program is in development!\nUse carefully!\n"
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
# --------------------- File ---------------------
|
|
155
|
-
# see /usr/lib/tk8.0/demos/filebox.tcl
|
|
156
|
-
proc fileDialog {w ent operation} {
|
|
157
|
-
# Type names Extension(s) Mac File Type(s)
|
|
158
|
-
#
|
|
159
|
-
#---------------------------------------------------------
|
|
160
|
-
set types {
|
|
161
|
-
{"PNM files" {.pnm .pbm .pgm .ppm} }
|
|
162
|
-
{"Image Files" {.tga .pcx} }
|
|
163
|
-
{"Image Files" {.gif .bmp .tiff .png} }
|
|
164
|
-
{"Image Files" {.jpeg .jpg} }
|
|
165
|
-
{"Image Files" "" {GIFF JPEG}}
|
|
166
|
-
{"All files" *}
|
|
167
|
-
}
|
|
168
|
-
if {$operation == "open"} {
|
|
169
|
-
set file [tk_getOpenFile -filetypes $types -parent $w]
|
|
170
|
-
} else {
|
|
171
|
-
set file [tk_getSaveFile -filetypes $types -parent $w \
|
|
172
|
-
-initialfile Untitled -defaultextension .txt]
|
|
173
|
-
}
|
|
174
|
-
if [string compare $file ""] {
|
|
175
|
-
$ent delete 0 end
|
|
176
|
-
$ent insert 0 $file
|
|
177
|
-
$ent xview end
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
# --------------------- oFile ---------------------
|
|
182
|
-
# see /usr/lib/tk8.0/demos/filebox.tcl
|
|
183
|
-
proc ofileDialog {w} {
|
|
184
|
-
global ofile
|
|
185
|
-
# Type names Extension(s)
|
|
186
|
-
set types {
|
|
187
|
-
{"text files" {.txt .text .asc} }
|
|
188
|
-
{"HTML files" {.html .htm} }
|
|
189
|
-
{"All files" *}
|
|
190
|
-
}
|
|
191
|
-
set ofile [tk_getSaveFile -filetypes $types -parent $w \
|
|
192
|
-
-initialfile $ofile -defaultextension .txt]
|
|
193
|
-
update
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
# --------------------- Show Picture ---------------------
|
|
197
|
-
proc Show {} {
|
|
198
|
-
global file, imgviewer
|
|
199
|
-
set file [.abar.entf get]
|
|
200
|
-
eval exec $imgviewer $file &
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
# --------------------- Spell check ---------------------
|
|
204
|
-
proc Spell {} {
|
|
205
|
-
global ofile
|
|
206
|
-
# WARNING: this clobbers out.txt (fixme)
|
|
207
|
-
SaveText $ofile
|
|
208
|
-
exec tkispell $ofile &
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
# --------------------- Scan ---------------------
|
|
212
|
-
proc Scan {} {
|
|
213
|
-
exec xsane -s -n &
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
# --------------------- Options ---------------------
|
|
217
|
-
proc SaveOpt {} {
|
|
218
|
-
global v0 v1 v2 v3 v4 v5 m1 m2 m3 m4 m5 m6 spacewidth graylevel dustsize imgviewer ofile
|
|
219
|
-
global autos autod autol gocrpath gocraddopt
|
|
220
|
-
if [catch {open .gocr w} out] {
|
|
221
|
-
puts "open .gocr failed"
|
|
222
|
-
return
|
|
223
|
-
}
|
|
224
|
-
set file [.abar.entf get]
|
|
225
|
-
set vvv [expr $v0 + $v1 + $v2 + $v3 + $v4 + $v5 ]
|
|
226
|
-
set mode [expr $m1 + $m2 + $m3 + $m4 + $m5 + $m6 ]
|
|
227
|
-
puts $out "vvv $vvv"
|
|
228
|
-
puts $out "mode $mode"
|
|
229
|
-
puts $out "file $file"
|
|
230
|
-
puts $out "ofile $ofile"
|
|
231
|
-
puts $out "spacewidth $spacewidth"
|
|
232
|
-
puts $out "graylevel $graylevel"
|
|
233
|
-
puts $out "dustsize $dustsize"
|
|
234
|
-
puts $out "imgviewer $imgviewer"
|
|
235
|
-
puts $out "autos $autos"
|
|
236
|
-
puts $out "autod $autod"
|
|
237
|
-
puts $out "autol $autol"
|
|
238
|
-
puts $out "gocrpath $gocrpath"
|
|
239
|
-
puts $out "gocraddopt $gocraddopt"
|
|
240
|
-
close $out
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
proc LoadOpt {} {
|
|
244
|
-
global v0 v1 v2 v3 v4 v5 m1 m2 m3 m4 m5 m6 spacewidth graylevel dustsize imgviewer ofile
|
|
245
|
-
global autos autod autol gocrpath gocraddopt
|
|
246
|
-
set file [.abar.entf get]
|
|
247
|
-
set vvv [expr $v0 + $v1 + $v2 + $v3 + $v4 + $v5 ]
|
|
248
|
-
set mode [expr $m1 + $m2 + $m3 + $m4 + $m5 + $m6 ]
|
|
249
|
-
if [catch {open .gocr r} in] {
|
|
250
|
-
puts "open .gocr failed"
|
|
251
|
-
return
|
|
252
|
-
}
|
|
253
|
-
while {[ gets $in line] >=0} {
|
|
254
|
-
if { [string first "vvv" "$line"] == 0 } { scan $line "%s%d" buf vvv }
|
|
255
|
-
if { [string first "mode" "$line"] == 0 } { scan $line "%s%d" buf mode }
|
|
256
|
-
if { [string first "file" "$line"] == 0 } { scan $line "%s%s" buf file }
|
|
257
|
-
if { [string first "ofile" "$line"] == 0 } { scan $line "%s%s" buf ofile }
|
|
258
|
-
if { [string first "gray" "$line"] == 0 } { scan $line "%s%d" buf graylevel }
|
|
259
|
-
if { [string first "dust" "$line"] == 0 } { scan $line "%s%d" buf dustsize }
|
|
260
|
-
if { [string first "imgv" "$line"] == 0 } { scan $line "%s%d" buf imgviewer }
|
|
261
|
-
if { [string first "autos" "$line"] == 0 } { scan $line "%s%d" buf autos }
|
|
262
|
-
if { [string first "autod" "$line"] == 0 } { scan $line "%s%d" buf autod }
|
|
263
|
-
if { [string first "autol" "$line"] == 0 } { scan $line "%s%d" buf autol }
|
|
264
|
-
if { [string first "gocrpath" "$line"] == 0 } { scan $line "%s%s" buf gocrpath }
|
|
265
|
-
if { [string first "gocraddopt" "$line"] == 0 } { set gocraddopt [ string range "$line" 11 256 ] }
|
|
266
|
-
}
|
|
267
|
-
close $in
|
|
268
|
-
.abar.entf delete 0 end
|
|
269
|
-
.abar.entf insert 0 $file
|
|
270
|
-
.abar.entf xview end
|
|
271
|
-
set v0 [expr $vvv & 1 ]
|
|
272
|
-
set v1 [expr $vvv & 2 ]
|
|
273
|
-
set v2 [expr $vvv & 4 ]
|
|
274
|
-
set v3 [expr $vvv & 8 ]
|
|
275
|
-
set v4 [expr $vvv & 16 ]
|
|
276
|
-
set v5 [expr $vvv & 32 ]
|
|
277
|
-
set m6 [expr $mode & 64 ]
|
|
278
|
-
set m1 [expr $mode & 2 ]
|
|
279
|
-
set m2 [expr $mode & 4 ]
|
|
280
|
-
set m3 [expr $mode & 8 ]
|
|
281
|
-
set m4 [expr $mode & 16 ]
|
|
282
|
-
set m5 [expr $mode & 32 ]
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
# call it once
|
|
286
|
-
LoadOpt
|
|
287
|
-
|
|
288
|
-
# see /usr/lib/tk8.0/demos/check.tcl
|
|
289
|
-
proc Option {} {
|
|
290
|
-
global v0 v1 v2 v3 v4 m1 m2 m3 m4 m5 m6 spacewidth graylevel dustsize imgviewer
|
|
291
|
-
global autos autod autol gocrpath gocraddopt
|
|
292
|
-
set w .woption
|
|
293
|
-
catch {destroy $w}
|
|
294
|
-
toplevel $w
|
|
295
|
-
wm title $w "GOCR Options"
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
set ww $w
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
label $ww.msg -wraplength 4i -justify left -text "Here you can set several options for GOCR."
|
|
302
|
-
pack $ww.msg -side top
|
|
303
|
-
|
|
304
|
-
frame $w.buttons
|
|
305
|
-
pack $w.buttons -side bottom -fill x -pady 2m
|
|
306
|
-
button $w.buttons.ok -text "Ok" -command "destroy $w"
|
|
307
|
-
button $w.buttons.vars -text "See Variables" -command "showVars"
|
|
308
|
-
pack $w.buttons.vars $w.buttons.ok -side left -expand 1
|
|
309
|
-
|
|
310
|
-
frame $ww.sep1 -relief ridge -bd 1 -height 2
|
|
311
|
-
pack $ww.sep1 -side top -fill x
|
|
312
|
-
# -expand no
|
|
313
|
-
|
|
314
|
-
frame $ww.scale1
|
|
315
|
-
pack $ww.scale1 -side top -fill x
|
|
316
|
-
label $ww.scale1.label -text "spacewidth:" -width 16
|
|
317
|
-
scale $ww.scale1.scale -orient horizontal -length 200 -from 0 -to 60 \
|
|
318
|
-
-variable spacewidth
|
|
319
|
-
checkbutton $ww.scale1.check -text "auto" -variable autos -onvalue 1 -offvalue 0
|
|
320
|
-
pack $ww.scale1.label $ww.scale1.scale $ww.scale1.check -side left
|
|
321
|
-
|
|
322
|
-
frame $ww.scale2
|
|
323
|
-
pack $ww.scale2 -side top -fill x
|
|
324
|
-
label $ww.scale2.label -text "graylevel:" -width 16
|
|
325
|
-
scale $ww.scale2.scale -orient horizontal -length 200 -from 0 -to 255 \
|
|
326
|
-
-variable graylevel
|
|
327
|
-
checkbutton $ww.scale2.check -text "auto" -variable autol -onvalue 1 -offvalue 0
|
|
328
|
-
pack $ww.scale2.label $ww.scale2.scale $ww.scale2.check -side left
|
|
329
|
-
|
|
330
|
-
frame $ww.scale3
|
|
331
|
-
pack $ww.scale3 -side top -fill x
|
|
332
|
-
label $ww.scale3.label -text "dustsize:" -width 16
|
|
333
|
-
scale $ww.scale3.scale -orient horizontal -length 200 -from 0 -to 60 \
|
|
334
|
-
-variable dustsize
|
|
335
|
-
checkbutton $ww.scale3.check -text "auto" -variable autod -onvalue 1 -offvalue 0
|
|
336
|
-
pack $ww.scale3.label $ww.scale3.scale $ww.scale3.check -side left
|
|
337
|
-
|
|
338
|
-
frame $ww.sep2 -relief ridge -bd 1 -height 2
|
|
339
|
-
pack $ww.sep2 -side top -fill x
|
|
340
|
-
# -expand no
|
|
341
|
-
|
|
342
|
-
# place the checkbuttons in two columns
|
|
343
|
-
frame $ww.cb
|
|
344
|
-
pack $ww.cb -side top -fill x
|
|
345
|
-
frame $ww.cb.cb1 -relief ridge -bd 1 -height 2
|
|
346
|
-
pack $ww.cb.cb1 -side left -fill y
|
|
347
|
-
frame $ww.cb.sep3 -relief ridge -bd 1 -height 2
|
|
348
|
-
pack $ww.cb.sep3 -side left -fill y
|
|
349
|
-
frame $ww.cb.cb2 -relief ridge -bd 1 -height 2
|
|
350
|
-
pack $ww.cb.cb2 -side left -fill y
|
|
351
|
-
|
|
352
|
-
set ww $w.cb.cb1
|
|
353
|
-
|
|
354
|
-
label $ww.msg1 -text "Mode options (work mode):"
|
|
355
|
-
pack $ww.msg1 -side top
|
|
356
|
-
checkbutton $ww.b1 -text "use database" -variable m1 -onvalue 2 -offvalue 0
|
|
357
|
-
checkbutton $ww.b2 -text "layout analysis" -variable m2 -onvalue 4 -offvalue 0
|
|
358
|
-
checkbutton $ww.b3 -text "compare _ mode" -variable m3 -onvalue 0 -offvalue 8
|
|
359
|
-
checkbutton $ww.b4 -text "divide _ mode" -variable m4 -onvalue 0 -offvalue 16
|
|
360
|
-
checkbutton $ww.b5 -text "context correction" -variable m5 -onvalue 0 -offvalue 32
|
|
361
|
-
checkbutton $ww.b6 -text "char packing" -variable m6 -onvalue 64 -offvalue 0
|
|
362
|
-
pack $ww.b1 $ww.b2 $ww.b3 $ww.b4 $ww.b5 $ww.b6 -side top -pady 2 -anchor w
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
set ww $w.cb.cb2
|
|
366
|
-
|
|
367
|
-
label $ww.msg2 -text "Verbose options (output mode):"
|
|
368
|
-
pack $ww.msg2 -side top
|
|
369
|
-
checkbutton $ww.c1 -text "more info" -variable v0 -onvalue 1 -offvalue 0
|
|
370
|
-
checkbutton $ww.c2 -text "list chapes" -variable v1 -onvalue 2 -offvalue 0
|
|
371
|
-
checkbutton $ww.c3 -text "list pattern" -variable v2 -onvalue 4 -offvalue 0
|
|
372
|
-
checkbutton $ww.c4 -text "list all pattern" -variable v3 -onvalue 8 -offvalue 0
|
|
373
|
-
checkbutton $ww.c5 -text "line infos" -variable v4 -onvalue 16 -offvalue 0
|
|
374
|
-
checkbutton $ww.c6 -text "debug mode" -variable v5 -onvalue 32 -offvalue 0
|
|
375
|
-
pack $ww.c1 $ww.c2 $ww.c3 $ww.c4 $ww.c5 $ww.c6 -side top -pady 2 -anchor w
|
|
376
|
-
|
|
377
|
-
set ww $w
|
|
378
|
-
|
|
379
|
-
frame $ww.sep4 -relief ridge -bd 1 -height 2
|
|
380
|
-
pack $ww.sep4 -side top -fill x
|
|
381
|
-
|
|
382
|
-
set ww $w.l1
|
|
383
|
-
frame $ww
|
|
384
|
-
pack $ww -side top -fill x
|
|
385
|
-
|
|
386
|
-
label $ww.d1 -text "Image Viewer:" -width 16
|
|
387
|
-
entry $ww.d2 -textvariable imgviewer
|
|
388
|
-
pack $ww.d1 -side left -pady 2 -padx 2 -anchor w
|
|
389
|
-
pack $ww.d2 -side left -pady 2 -padx 2 -fill x -expand 1 -anchor w
|
|
390
|
-
|
|
391
|
-
set ww $w.l2
|
|
392
|
-
frame $ww
|
|
393
|
-
pack $ww -side top -fill x
|
|
394
|
-
|
|
395
|
-
label $ww.e1 -text "GOCR PATH:" -width 16
|
|
396
|
-
entry $ww.e2 -textvariable gocrpath
|
|
397
|
-
pack $ww.e1 -side left -pady 2 -padx 2 -anchor w
|
|
398
|
-
pack $ww.e2 -side left -pady 2 -padx 2 -fill x -expand 1 -anchor w
|
|
399
|
-
|
|
400
|
-
set ww $w.l3
|
|
401
|
-
frame $ww
|
|
402
|
-
pack $ww -side top -fill x
|
|
403
|
-
|
|
404
|
-
label $ww.f1 -text "add OPTIONS:" -width 16
|
|
405
|
-
entry $ww.f2 -textvariable gocraddopt
|
|
406
|
-
pack $ww.f1 -side left -pady 2 -padx 2 -anchor w
|
|
407
|
-
pack $ww.f2 -side left -pady 2 -padx 2 -fill x -expand 1 -anchor w
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
# ----------------------------- showVars -----------------------------
|
|
413
|
-
proc showVars {} {
|
|
414
|
-
global fid but log2 file v0 v1 v2 v3 v4 v5 m1 m2 m3 m4 m5 m6 spacewidth graylevel dustsize imgviewer
|
|
415
|
-
global autos autod autol gocrpath gocraddopt
|
|
416
|
-
set file [.abar.entf get]
|
|
417
|
-
set vvv [expr $v0 + $v1 + $v2 + $v3 + $v4 + $v5 ]
|
|
418
|
-
set mode [expr $m1 + $m2 + $m3 + $m4 + $m5 + $m6 ]
|
|
419
|
-
set run "$gocrpath -v $vvv -m $mode"
|
|
420
|
-
if [ expr $autos == 0 ] { set run "$run -s $spacewidth" }
|
|
421
|
-
if [ expr $autol == 0 ] { set run "$run -l $graylevel" }
|
|
422
|
-
if [ expr $autod == 0 ] { set run "$run -d $dustsize" }
|
|
423
|
-
set run "$run $gocraddopt $file"
|
|
424
|
-
$log2 insert end "run = $run\n"
|
|
425
|
-
update
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
# ----------------------------- saveLog -----------------------------
|
|
430
|
-
proc SaveText { txtfile } {
|
|
431
|
-
global log
|
|
432
|
-
if [catch {open $txtfile w} out] {
|
|
433
|
-
puts "open $txtfile failed"
|
|
434
|
-
return
|
|
435
|
-
}
|
|
436
|
-
puts $out [$log get 0.0 end]
|
|
437
|
-
close $out
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
# ----------------------------- RUN -----------------------------
|
|
442
|
-
proc Run {} {
|
|
443
|
-
global fid but log log2 file v0 v1 v2 v3 v4 v5 m1 m2 m3 m4 m5 m6 spacewidth graylevel dustsize imgviewer
|
|
444
|
-
global autos autod autol gocrpath gocraddopt
|
|
445
|
-
set file [.abar.entf get]
|
|
446
|
-
set pin ""
|
|
447
|
-
if [ string match *.p?m.gz $file ] {
|
|
448
|
-
set pin "gzip -cd $file |"
|
|
449
|
-
set file -
|
|
450
|
-
} elseif [ string match *.gif $file ] {
|
|
451
|
-
set pin "giftopnm $file |"
|
|
452
|
-
set file -
|
|
453
|
-
} elseif { [ string match *.tif $file ] || [ string match *.tiff $file ] } {
|
|
454
|
-
set pin "tifftopnm $file |"
|
|
455
|
-
set file -
|
|
456
|
-
} elseif { [ string match *.bmp $file ] } {
|
|
457
|
-
set pin "bmptopnm $file |"
|
|
458
|
-
set file -
|
|
459
|
-
} elseif { [ string match *.png $file ] } {
|
|
460
|
-
set pin "pngtopnm $file |"
|
|
461
|
-
set file -
|
|
462
|
-
} elseif { [ string match *.jpg $file ] || [ string match *.jpeg $file ] } {
|
|
463
|
-
set pin "djpeg -gray -pnm $file |"
|
|
464
|
-
set file -
|
|
465
|
-
}
|
|
466
|
-
set vvv [expr $v0 + $v1 + $v2 + $v3 + $v4 + $v5 ]
|
|
467
|
-
set mode [expr $m1 + $m2 + $m3 + $m4 + $m5 + $m6 ]
|
|
468
|
-
set run "$pin $gocrpath -v $vvv -m $mode"
|
|
469
|
-
if [ expr $autos == 0 ] { set run "$run -s $spacewidth" }
|
|
470
|
-
if [ expr $autol == 0 ] { set run "$run -l $graylevel" }
|
|
471
|
-
if [ expr $autod == 0 ] { set run "$run -d $dustsize" }
|
|
472
|
-
set run "$run $gocraddopt $file"
|
|
473
|
-
$log2 insert end $run\n
|
|
474
|
-
$log2 see end
|
|
475
|
-
if [catch {open "| $run" } fid] {
|
|
476
|
-
$log2 insert end $fid\n
|
|
477
|
-
} else {
|
|
478
|
-
# puts "listening on $fid (file4)"
|
|
479
|
-
fileevent $fid readable Log
|
|
480
|
-
# How to read from stderr of child???
|
|
481
|
-
.abar.status configure -text "progress"
|
|
482
|
-
update
|
|
483
|
-
# $log insert end $run\n
|
|
484
|
-
$but config -text "Stop !" -command Stop
|
|
485
|
-
}
|
|
486
|
-
## gets $fid ; # ead headerline
|
|
487
|
-
# fileevent $fid readable "get_samples $fid"
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
proc Log {} {
|
|
491
|
-
global fid log
|
|
492
|
-
if [eof $fid] { Stop } else {
|
|
493
|
-
gets $fid line
|
|
494
|
-
$log insert end $line\n
|
|
495
|
-
$log see end
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
proc Log2 {} {
|
|
500
|
-
global log2 fid2
|
|
501
|
-
# read from stderr-child???
|
|
502
|
-
if [eof $fid2] { Stop } else {
|
|
503
|
-
gets $fid2 line
|
|
504
|
-
$log2 insert end $line\n
|
|
505
|
-
$log2 see end
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
proc Stop {} {
|
|
510
|
-
global fid but v5
|
|
511
|
-
catch {close $fid}
|
|
512
|
-
$but config -text "Run it" -command Run
|
|
513
|
-
.abar.status configure -text "ready"
|
|
514
|
-
update
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
# aboutBox --
|
|
519
|
-
#
|
|
520
|
-
# Pops up a message box with an "about" message
|
|
521
|
-
#
|
|
522
|
-
proc aboutBox {} {
|
|
523
|
-
global ver gocrver
|
|
524
|
-
tk_messageBox -icon info -type ok -title "About" -message \
|
|
525
|
-
"Tcl/Tk front end\nto GOCR $gocrver\n\nversion $ver (c) 2002 Joerg Schulenburg"
|
|
526
|
-
}
|
|
527
|
-
|