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.
Files changed (288) hide show
  1. data/{README → README.md} +5 -11
  2. data/Rakefile +20 -14
  3. data/isbn.gemspec +23 -0
  4. data/lib/isbn.rb +2 -0
  5. data/test/isbn_spec.rb +1 -1
  6. metadata +29 -316
  7. data/VERSION +0 -1
  8. data/src/gocr-0.48/.cvsignore +0 -6
  9. data/src/gocr-0.48/AUTHORS +0 -7
  10. data/src/gocr-0.48/BUGS +0 -55
  11. data/src/gocr-0.48/CREDITS +0 -17
  12. data/src/gocr-0.48/HISTORY +0 -243
  13. data/src/gocr-0.48/INSTALL +0 -83
  14. data/src/gocr-0.48/Makefile +0 -193
  15. data/src/gocr-0.48/Makefile.in +0 -193
  16. data/src/gocr-0.48/README +0 -165
  17. data/src/gocr-0.48/READMEde.txt +0 -80
  18. data/src/gocr-0.48/REMARK.txt +0 -18
  19. data/src/gocr-0.48/REVIEW +0 -538
  20. data/src/gocr-0.48/TODO +0 -65
  21. data/src/gocr-0.48/bin/.cvsignore +0 -2
  22. data/src/gocr-0.48/bin/create_db +0 -38
  23. data/src/gocr-0.48/bin/gocr.tcl +0 -527
  24. data/src/gocr-0.48/bin/gocr_chk.sh +0 -44
  25. data/src/gocr-0.48/configure +0 -4689
  26. data/src/gocr-0.48/configure.in +0 -71
  27. data/src/gocr-0.48/doc/.#Makefile.1.6 +0 -39
  28. data/src/gocr-0.48/doc/.cvsignore +0 -2
  29. data/src/gocr-0.48/doc/Makefile +0 -39
  30. data/src/gocr-0.48/doc/Makefile.in +0 -39
  31. data/src/gocr-0.48/doc/example.dtd +0 -53
  32. data/src/gocr-0.48/doc/example.xml +0 -21
  33. data/src/gocr-0.48/doc/examples.txt +0 -67
  34. data/src/gocr-0.48/doc/gocr.html +0 -578
  35. data/src/gocr-0.48/doc/unicode.txt +0 -57
  36. data/src/gocr-0.48/examples/.#Makefile.1.22 +0 -166
  37. data/src/gocr-0.48/examples/4x6.png +0 -0
  38. data/src/gocr-0.48/examples/4x6.txt +0 -2
  39. data/src/gocr-0.48/examples/5x7.png +0 -0
  40. data/src/gocr-0.48/examples/5x7.png.txt +0 -2
  41. data/src/gocr-0.48/examples/5x8.png +0 -0
  42. data/src/gocr-0.48/examples/5x8.png.txt +0 -2
  43. data/src/gocr-0.48/examples/Makefile +0 -166
  44. data/src/gocr-0.48/examples/color.fig +0 -20
  45. data/src/gocr-0.48/examples/ex.fig +0 -16
  46. data/src/gocr-0.48/examples/font.tex +0 -22
  47. data/src/gocr-0.48/examples/font1.tex +0 -46
  48. data/src/gocr-0.48/examples/font2.fig +0 -27
  49. data/src/gocr-0.48/examples/font_nw.tex +0 -24
  50. data/src/gocr-0.48/examples/handwrt1.jpg +0 -0
  51. data/src/gocr-0.48/examples/handwrt1.txt +0 -10
  52. data/src/gocr-0.48/examples/inverse.fig +0 -20
  53. data/src/gocr-0.48/examples/matrix.jpg +0 -0
  54. data/src/gocr-0.48/examples/ocr-a-subset.png +0 -0
  55. data/src/gocr-0.48/examples/ocr-a-subset.png.txt +0 -4
  56. data/src/gocr-0.48/examples/ocr-a.png +0 -0
  57. data/src/gocr-0.48/examples/ocr-a.txt +0 -6
  58. data/src/gocr-0.48/examples/ocr-b.png +0 -0
  59. data/src/gocr-0.48/examples/ocr-b.png.txt +0 -4
  60. data/src/gocr-0.48/examples/polish.tex +0 -28
  61. data/src/gocr-0.48/examples/rotate45.fig +0 -14
  62. data/src/gocr-0.48/examples/score +0 -36
  63. data/src/gocr-0.48/examples/text.tex +0 -28
  64. data/src/gocr-0.48/gpl.html +0 -537
  65. data/src/gocr-0.48/include/.cvsignore +0 -2
  66. data/src/gocr-0.48/include/config.h +0 -36
  67. data/src/gocr-0.48/include/config.h.in +0 -36
  68. data/src/gocr-0.48/include/version.h +0 -2
  69. data/src/gocr-0.48/install-sh +0 -3
  70. data/src/gocr-0.48/make.bat +0 -57
  71. data/src/gocr-0.48/man/.cvsignore +0 -2
  72. data/src/gocr-0.48/man/Makefile +0 -29
  73. data/src/gocr-0.48/man/Makefile.in +0 -29
  74. data/src/gocr-0.48/man/man1/gocr.1 +0 -166
  75. data/src/gocr-0.48/src/.cvsignore +0 -4
  76. data/src/gocr-0.48/src/Makefile +0 -132
  77. data/src/gocr-0.48/src/Makefile.in +0 -132
  78. data/src/gocr-0.48/src/amiga.h +0 -31
  79. data/src/gocr-0.48/src/barcode.c +0 -846
  80. data/src/gocr-0.48/src/barcode.c.orig +0 -593
  81. data/src/gocr-0.48/src/barcode.h +0 -11
  82. data/src/gocr-0.48/src/box.c +0 -372
  83. data/src/gocr-0.48/src/database.c +0 -462
  84. data/src/gocr-0.48/src/detect.c +0 -943
  85. data/src/gocr-0.48/src/gocr.c +0 -373
  86. data/src/gocr-0.48/src/gocr.h +0 -288
  87. data/src/gocr-0.48/src/jconv.c +0 -168
  88. data/src/gocr-0.48/src/job.c +0 -84
  89. data/src/gocr-0.48/src/lines.c +0 -350
  90. data/src/gocr-0.48/src/list.c +0 -334
  91. data/src/gocr-0.48/src/list.h +0 -90
  92. data/src/gocr-0.48/src/ocr0.c +0 -6756
  93. data/src/gocr-0.48/src/ocr0.h +0 -63
  94. data/src/gocr-0.48/src/ocr0n.c +0 -1475
  95. data/src/gocr-0.48/src/ocr1.c +0 -85
  96. data/src/gocr-0.48/src/ocr1.h +0 -3
  97. data/src/gocr-0.48/src/otsu.c +0 -289
  98. data/src/gocr-0.48/src/otsu.h +0 -23
  99. data/src/gocr-0.48/src/output.c +0 -289
  100. data/src/gocr-0.48/src/output.h +0 -37
  101. data/src/gocr-0.48/src/pcx.c +0 -153
  102. data/src/gocr-0.48/src/pcx.h +0 -9
  103. data/src/gocr-0.48/src/pgm2asc.c +0 -2893
  104. data/src/gocr-0.48/src/pgm2asc.h +0 -105
  105. data/src/gocr-0.48/src/pixel.c +0 -537
  106. data/src/gocr-0.48/src/pnm.c +0 -533
  107. data/src/gocr-0.48/src/pnm.h +0 -35
  108. data/src/gocr-0.48/src/progress.c +0 -87
  109. data/src/gocr-0.48/src/progress.h +0 -42
  110. data/src/gocr-0.48/src/remove.c +0 -703
  111. data/src/gocr-0.48/src/tga.c +0 -87
  112. data/src/gocr-0.48/src/tga.h +0 -6
  113. data/src/gocr-0.48/src/unicode.c +0 -1314
  114. data/src/gocr-0.48/src/unicode.h +0 -1257
  115. data/src/jpeg-7/Makefile.am +0 -133
  116. data/src/jpeg-7/Makefile.in +0 -1089
  117. data/src/jpeg-7/README +0 -322
  118. data/src/jpeg-7/aclocal.m4 +0 -8990
  119. data/src/jpeg-7/ansi2knr.1 +0 -36
  120. data/src/jpeg-7/ansi2knr.c +0 -739
  121. data/src/jpeg-7/cderror.h +0 -132
  122. data/src/jpeg-7/cdjpeg.c +0 -181
  123. data/src/jpeg-7/cdjpeg.h +0 -187
  124. data/src/jpeg-7/change.log +0 -270
  125. data/src/jpeg-7/cjpeg.1 +0 -325
  126. data/src/jpeg-7/cjpeg.c +0 -616
  127. data/src/jpeg-7/ckconfig.c +0 -402
  128. data/src/jpeg-7/coderules.txt +0 -118
  129. data/src/jpeg-7/config.guess +0 -1561
  130. data/src/jpeg-7/config.sub +0 -1686
  131. data/src/jpeg-7/configure +0 -17139
  132. data/src/jpeg-7/configure.ac +0 -317
  133. data/src/jpeg-7/depcomp +0 -630
  134. data/src/jpeg-7/djpeg.1 +0 -251
  135. data/src/jpeg-7/djpeg.c +0 -617
  136. data/src/jpeg-7/example.c +0 -433
  137. data/src/jpeg-7/filelist.txt +0 -215
  138. data/src/jpeg-7/install-sh +0 -520
  139. data/src/jpeg-7/install.txt +0 -1097
  140. data/src/jpeg-7/jaricom.c +0 -148
  141. data/src/jpeg-7/jcapimin.c +0 -282
  142. data/src/jpeg-7/jcapistd.c +0 -161
  143. data/src/jpeg-7/jcarith.c +0 -921
  144. data/src/jpeg-7/jccoefct.c +0 -453
  145. data/src/jpeg-7/jccolor.c +0 -459
  146. data/src/jpeg-7/jcdctmgr.c +0 -482
  147. data/src/jpeg-7/jchuff.c +0 -1612
  148. data/src/jpeg-7/jcinit.c +0 -65
  149. data/src/jpeg-7/jcmainct.c +0 -293
  150. data/src/jpeg-7/jcmarker.c +0 -667
  151. data/src/jpeg-7/jcmaster.c +0 -770
  152. data/src/jpeg-7/jcomapi.c +0 -106
  153. data/src/jpeg-7/jconfig.bcc +0 -48
  154. data/src/jpeg-7/jconfig.cfg +0 -45
  155. data/src/jpeg-7/jconfig.dj +0 -38
  156. data/src/jpeg-7/jconfig.mac +0 -43
  157. data/src/jpeg-7/jconfig.manx +0 -43
  158. data/src/jpeg-7/jconfig.mc6 +0 -52
  159. data/src/jpeg-7/jconfig.sas +0 -43
  160. data/src/jpeg-7/jconfig.st +0 -42
  161. data/src/jpeg-7/jconfig.txt +0 -155
  162. data/src/jpeg-7/jconfig.vc +0 -45
  163. data/src/jpeg-7/jconfig.vms +0 -37
  164. data/src/jpeg-7/jconfig.wat +0 -38
  165. data/src/jpeg-7/jcparam.c +0 -632
  166. data/src/jpeg-7/jcprepct.c +0 -358
  167. data/src/jpeg-7/jcsample.c +0 -545
  168. data/src/jpeg-7/jctrans.c +0 -381
  169. data/src/jpeg-7/jdapimin.c +0 -396
  170. data/src/jpeg-7/jdapistd.c +0 -275
  171. data/src/jpeg-7/jdarith.c +0 -762
  172. data/src/jpeg-7/jdatadst.c +0 -151
  173. data/src/jpeg-7/jdatasrc.c +0 -212
  174. data/src/jpeg-7/jdcoefct.c +0 -736
  175. data/src/jpeg-7/jdcolor.c +0 -396
  176. data/src/jpeg-7/jdct.h +0 -393
  177. data/src/jpeg-7/jddctmgr.c +0 -382
  178. data/src/jpeg-7/jdhuff.c +0 -1309
  179. data/src/jpeg-7/jdinput.c +0 -384
  180. data/src/jpeg-7/jdmainct.c +0 -512
  181. data/src/jpeg-7/jdmarker.c +0 -1360
  182. data/src/jpeg-7/jdmaster.c +0 -663
  183. data/src/jpeg-7/jdmerge.c +0 -400
  184. data/src/jpeg-7/jdpostct.c +0 -290
  185. data/src/jpeg-7/jdsample.c +0 -361
  186. data/src/jpeg-7/jdtrans.c +0 -136
  187. data/src/jpeg-7/jerror.c +0 -252
  188. data/src/jpeg-7/jerror.h +0 -304
  189. data/src/jpeg-7/jfdctflt.c +0 -174
  190. data/src/jpeg-7/jfdctfst.c +0 -230
  191. data/src/jpeg-7/jfdctint.c +0 -4348
  192. data/src/jpeg-7/jidctflt.c +0 -242
  193. data/src/jpeg-7/jidctfst.c +0 -368
  194. data/src/jpeg-7/jidctint.c +0 -5137
  195. data/src/jpeg-7/jinclude.h +0 -91
  196. data/src/jpeg-7/jmemansi.c +0 -167
  197. data/src/jpeg-7/jmemdos.c +0 -638
  198. data/src/jpeg-7/jmemdosa.asm +0 -379
  199. data/src/jpeg-7/jmemmac.c +0 -289
  200. data/src/jpeg-7/jmemmgr.c +0 -1118
  201. data/src/jpeg-7/jmemname.c +0 -276
  202. data/src/jpeg-7/jmemnobs.c +0 -109
  203. data/src/jpeg-7/jmemsys.h +0 -198
  204. data/src/jpeg-7/jmorecfg.h +0 -369
  205. data/src/jpeg-7/jpegint.h +0 -395
  206. data/src/jpeg-7/jpeglib.h +0 -1135
  207. data/src/jpeg-7/jpegtran.1 +0 -272
  208. data/src/jpeg-7/jpegtran.c +0 -546
  209. data/src/jpeg-7/jquant1.c +0 -856
  210. data/src/jpeg-7/jquant2.c +0 -1310
  211. data/src/jpeg-7/jutils.c +0 -179
  212. data/src/jpeg-7/jversion.h +0 -14
  213. data/src/jpeg-7/libjpeg.map +0 -4
  214. data/src/jpeg-7/libjpeg.txt +0 -3067
  215. data/src/jpeg-7/ltmain.sh +0 -8406
  216. data/src/jpeg-7/makcjpeg.st +0 -36
  217. data/src/jpeg-7/makdjpeg.st +0 -36
  218. data/src/jpeg-7/makeadsw.vc6 +0 -77
  219. data/src/jpeg-7/makeasln.vc9 +0 -33
  220. data/src/jpeg-7/makecdep.vc6 +0 -82
  221. data/src/jpeg-7/makecdsp.vc6 +0 -130
  222. data/src/jpeg-7/makecmak.vc6 +0 -159
  223. data/src/jpeg-7/makecvcp.vc9 +0 -186
  224. data/src/jpeg-7/makeddep.vc6 +0 -82
  225. data/src/jpeg-7/makeddsp.vc6 +0 -130
  226. data/src/jpeg-7/makedmak.vc6 +0 -159
  227. data/src/jpeg-7/makedvcp.vc9 +0 -186
  228. data/src/jpeg-7/makefile.ansi +0 -220
  229. data/src/jpeg-7/makefile.bcc +0 -291
  230. data/src/jpeg-7/makefile.dj +0 -226
  231. data/src/jpeg-7/makefile.manx +0 -220
  232. data/src/jpeg-7/makefile.mc6 +0 -255
  233. data/src/jpeg-7/makefile.mms +0 -224
  234. data/src/jpeg-7/makefile.sas +0 -258
  235. data/src/jpeg-7/makefile.unix +0 -234
  236. data/src/jpeg-7/makefile.vc +0 -217
  237. data/src/jpeg-7/makefile.vms +0 -142
  238. data/src/jpeg-7/makefile.wat +0 -239
  239. data/src/jpeg-7/makejdep.vc6 +0 -423
  240. data/src/jpeg-7/makejdsp.vc6 +0 -285
  241. data/src/jpeg-7/makejdsw.vc6 +0 -29
  242. data/src/jpeg-7/makejmak.vc6 +0 -425
  243. data/src/jpeg-7/makejsln.vc9 +0 -17
  244. data/src/jpeg-7/makejvcp.vc9 +0 -328
  245. data/src/jpeg-7/makeproj.mac +0 -213
  246. data/src/jpeg-7/makerdep.vc6 +0 -6
  247. data/src/jpeg-7/makerdsp.vc6 +0 -78
  248. data/src/jpeg-7/makermak.vc6 +0 -110
  249. data/src/jpeg-7/makervcp.vc9 +0 -133
  250. data/src/jpeg-7/maketdep.vc6 +0 -43
  251. data/src/jpeg-7/maketdsp.vc6 +0 -122
  252. data/src/jpeg-7/maketmak.vc6 +0 -131
  253. data/src/jpeg-7/maketvcp.vc9 +0 -178
  254. data/src/jpeg-7/makewdep.vc6 +0 -6
  255. data/src/jpeg-7/makewdsp.vc6 +0 -78
  256. data/src/jpeg-7/makewmak.vc6 +0 -110
  257. data/src/jpeg-7/makewvcp.vc9 +0 -133
  258. data/src/jpeg-7/makljpeg.st +0 -68
  259. data/src/jpeg-7/maktjpeg.st +0 -30
  260. data/src/jpeg-7/makvms.opt +0 -4
  261. data/src/jpeg-7/missing +0 -376
  262. data/src/jpeg-7/rdbmp.c +0 -439
  263. data/src/jpeg-7/rdcolmap.c +0 -253
  264. data/src/jpeg-7/rdgif.c +0 -38
  265. data/src/jpeg-7/rdjpgcom.1 +0 -63
  266. data/src/jpeg-7/rdjpgcom.c +0 -515
  267. data/src/jpeg-7/rdppm.c +0 -459
  268. data/src/jpeg-7/rdrle.c +0 -387
  269. data/src/jpeg-7/rdswitch.c +0 -365
  270. data/src/jpeg-7/rdtarga.c +0 -500
  271. data/src/jpeg-7/structure.txt +0 -945
  272. data/src/jpeg-7/testimg.bmp +0 -0
  273. data/src/jpeg-7/testimg.jpg +0 -0
  274. data/src/jpeg-7/testimg.ppm +0 -4
  275. data/src/jpeg-7/testimgp.jpg +0 -0
  276. data/src/jpeg-7/testorig.jpg +0 -0
  277. data/src/jpeg-7/testprog.jpg +0 -0
  278. data/src/jpeg-7/transupp.c +0 -1533
  279. data/src/jpeg-7/transupp.h +0 -205
  280. data/src/jpeg-7/usage.txt +0 -605
  281. data/src/jpeg-7/wizard.txt +0 -211
  282. data/src/jpeg-7/wrbmp.c +0 -442
  283. data/src/jpeg-7/wrgif.c +0 -399
  284. data/src/jpeg-7/wrjpgcom.1 +0 -103
  285. data/src/jpeg-7/wrjpgcom.c +0 -583
  286. data/src/jpeg-7/wrppm.c +0 -269
  287. data/src/jpeg-7/wrrle.c +0 -305
  288. data/src/jpeg-7/wrtarga.c +0 -253
data/src/gocr-0.48/REVIEW DELETED
@@ -1,538 +0,0 @@
1
- This is a list of reviews, so that developers don't get confused with the new
2
- changes. Please document what you do here.
3
-
4
- () done
5
- [] done, but should be reviewed
6
- || to be done, do if you can
7
- ?? question: if you know, solve it
8
- Writer: put your initials inside.
9
-
10
- 5/8
11
- (bbg) changed box1 to head_data.
12
- (bbg) changed boxd to head_db.
13
- |bbg| box2 static variables do not exist anymore. They were confusing,
14
- since these names were used as arguments to functions too. From what I've
15
- seen, this will not affect the program.
16
- (js) agree
17
- (bbg) added new file: box.c, with all the functions that deal with boxes.
18
- (bbg) added new file: database.c, with all the functions that deal with db.
19
- [bbg] ocr_db()
20
- |bbg| split pgm2asc(): the function would still exist, but call other
21
- subfunctions which are part of it now. I suggest:
22
- - find_letters()
23
- - remove_dust()
24
- - remove_pictures()
25
- - remove_melted_serifs()
26
- - find_longest_line()
27
- - detect_lines()
28
- etc: they are practically already defined between {}.
29
- ?bbg? pgm2asc: it has 2 frame letter codes, 2 find pictures, 2 remove
30
- dust
31
- |js| It is result of last (not finished) big rewriting of code
32
- will be changed later
33
- |bbg| vvv (or equivalent) should be global.
34
-
35
- 6/8
36
- (bbg) general linked lists done (list.*).
37
- |bbg| Functions in box.c should be changed by the new general ones.
38
- linearr should too.
39
- (bbg) strc() and in_str() changed by strchr.
40
- ?bbg? shouldn't test_umlaut() belong to another file, like ocr0.cc?
41
- js: good idea
42
- (bbg) moved to ocr0.cc
43
- ?bbg? there are several functions with 2 or 3 versions (detect_lines,
44
- detect_lines2, for example). Do they do the same thing (and one
45
- is older) or different things?
46
- js: different, they are different childs from same mother
47
- they are going more different in future
48
- ?bbg? What do ini_list(), excude() and getresult() do? They don't seem
49
- to be used. If they are useless, please delete them.
50
- js: read the new comments in the file (should be in seperate file?)
51
- |bbg| document pixel().
52
- :done.
53
- |bbg| Many, many commented lines all over the file; should be cleaned.
54
- :done.
55
- |bbg| Change new->malloc, delete->free.
56
- :done
57
-
58
- 7/8
59
- (js) some comments added in pgm2asc.cc
60
- |bbg| instead of p.p[x+y*p.x], use the new macro pixel_at(p, x, y).
61
- Not all substitutions done yet.
62
- :done.
63
- (bbg) excude() renamed to exclude().
64
- ?bbg? what are the pixel bits meaning? A table would be useful.
65
- (js) not stable: lowest (3-4?) bits are for temporary use
66
- highest (4?) bits are for intensity
67
- |bbg| must change all "type &p" arguments.
68
- :done
69
- |bbg| should make argument order standard: at the present, sometimes the
70
- order is x0,x1,y0,y1, sometimes x0,y0,x1,y1, pix is not always the
71
- first, etc.
72
- (bbg) turmite(): changed for+if -> while. Is is correct? I think so, but
73
- a test wouldn't hurt. Also optimized the function.
74
- (js) I test it after complete review.
75
-
76
- 8/8
77
- (js) pgm2asc.cc: generally pix *p used, pgm2asc() partly rewritten
78
- |js| ocr0.cc: pix *p must be used everywhere
79
- :done
80
- (bbg) pixel(): first part (c33 filling) optimized.
81
- (bbg) minor optimizations, cut superflous counters.
82
- ?bbg? copybox: shouldn't b->p be free()d, or realloc()ed? There's also a new
83
- faster version (using memcpy), but there's no unmarking of pixels; I'm
84
- also not sure if they are equivalent, since I'm not calling pixel. It's
85
- between #ifs.
86
-
87
- 9/8
88
- (bbg) Started to change linearr to linked lists; linearr is obsolete now,
89
- and textlines too.
90
- (bbg) free_textlines() and getTextLine() use linked lists (instead of linearr)
91
- now. The first may be deleted in the future.
92
- [bbg] store_boxtree_textlines use linked lists (instead of linearr) now, but
93
- should be tested and reviewed; specially if (box2->c == ' ') since it
94
- doesn't check for an \n anymore (why should it?). Also the extra list_app
95
- should be checked. Check too if "if (!(mo & 8))" shouldn't come before
96
- "if (box2->c != '_')".
97
- :done
98
- (bbg) Moved copybox() to box.c
99
- ?bbg? put(): What are ia and io?
100
- js: ia int_and, io int_or new_pixel=(old_pixel & ia) | io
101
- for more praktical use
102
- |bbg| What about putting remove_dust, remove_picture, remove_etc in another
103
- file, such as clean.c or remove.c?
104
- js: should be made
105
- bbg: done
106
- |bbg| several #ifdef's pending approval or review. Get rid of them.
107
- :done
108
- [bbg] Added code to open pgm files using libpgm. Not tested, but should be OK.
109
- [bbg] started to write writepbm, writeppm.
110
-
111
- 10/8
112
- [js] pgm2asc() new functions created
113
- (bbg) moved remove_* functions to remove.c
114
- (bbg) added doc/ directory; moved ocr.tex to doc/; created examples.txt.
115
- (bbg) added UNICODE support: unicode.h contains all symbols we will ever need,
116
- unicode.c contains two conversion functions.
117
- (bbg) most of Unicode->TeX convert() (0x7F-0xFF) codes are done.
118
- [bbg] several compose() codes done.
119
-
120
- 11/8
121
- (bbg) new pnm IO functions, much better now.
122
- [bbg] fixed part of ocr0.cc: since arguments changed from pix &p to pix *p, it
123
- wasn't compiling. Must fix the pix b; should it be changed to pix *b?
124
- :done
125
- |bbg| Use new Unicode code; change all old code using unsigned char to wchar_t.
126
- Work started. Take care: old libc functions won't work anymore. Use those
127
- defined in <wchar.h>. Perhaps we should wait until the review is done and
128
- gocr is working again.
129
- :do it in 0.3.1 only.
130
- ?bbg? should we move wert code to a new file?
131
- (js) we should
132
- ?bbg? should we move all code a /src sudirectory?
133
- (js) we should, same step should rename .cc to .c
134
- |bbg| fix Makefile (or better, configure.in) to reflect new files.
135
- :done
136
- [bbg] started to change all the for(box=head_data) to for_each_data. CAREFUL:
137
- you cannot use for_each_data recursively. On the next layer, you must use
138
- something like for(box=list_get_header; box; box=list_next(box));
139
- :done
140
-
141
- 13/8
142
- (bbg) finished changing for(box=head_data). Old box_* functions still used,
143
- must fix.
144
- (bbg) cleaned 99% of the warning/errors when compiling pgm2asc.cc
145
- [bbg] fix: warning: control reaches end of non-void function
146
- `compare_unknown_with_known_chars(pix *, int)'
147
- :done
148
- [bbg] check if pgm2asc.cc:474:i = ((pixel(p, x, y) < cs) ? 0 : 1); is useless
149
- or not.
150
- (js) useless, relict from older review-changes
151
- (bbg) vvv is now part of struct environment.
152
- (bbg) removed Uchar, may conflict with other libs. Use unsigned char.
153
-
154
- 15/8
155
- (bbg) Tim Waugh sent man page; added him in the thanks of README.txt
156
- [bbg] should break README.txt in: INSTALL, CREDITS, TODO, HISTORY.
157
- :done
158
- (bbg) more changes from box_* to list_*
159
-
160
- 16/8
161
- (bbg) added greek letters to the unicode.c functions. Not complete.
162
- (bbg) added punctuation symbols to the unicode.c functions. Not complete.
163
- (bbg) added ISO8859-1 support to the unicode.c functions. 0x20-0xFF supported,
164
- ligatures supported.
165
-
166
- 18/8
167
- [bbg] fix try_to_divide_boxes to the new general linked list.
168
- [bbg] most for_each_data have a line like box2 = list_get_current, which is
169
- unnecessary. Change box2 by list_get_current. To avoid clumsiness, it
170
- maybe a good idea to create a new #define lgc(a) list_get_current(a).
171
-
172
- 25/8
173
- (js) ./src created, .cc,.h,.c moved to src, .cc renamed to .c
174
- [js] try to get make working (make jconv) see config.h: USE_LIBPNM => HAVE_PNM_H
175
- |js| list.c L66 data_before ??? what does that mean?
176
- (bbg) mistyped, fixed.
177
- list_del should be tested
178
- :done
179
- ?js? unicode.c there are undefined DEFS L89++ (i have put it in /* */)
180
- L150++,L185++,L633++
181
- (bbg) fixed
182
- [js] make works again (now you can make compilation tests on changes)
183
- ... but SEGFAULT
184
-
185
- 26/8
186
- (bbg) fixed casting warnings in unicode.c; fixed undefined DEFS.
187
- |bbg| fix the missing LaTeX codes in unicode.c.
188
-
189
- 28/8
190
- ?js? configure does not find /usr/X11R6/include/pnm.h, why?
191
- [js] fixed some bugs to get gocr working, but there are still big bugs
192
-
193
- 30/8
194
- (bbg) fixed all gcc warnings. Some bugs killed in the process.
195
- (bbg) fixed pnm.c compilation problem
196
- |bbg| have to fix database.c:102
197
- |bbg| MANDATORY: change all old linked list code to the new one. This means:
198
- get rid of box_* functions, the header->data stuff, etc. The new linked
199
- list code is probably working 100%.
200
- (bbg) changed $(CXX) to $(CC). C conversion completed!
201
- (bbg) added jconv and gocr sections to src/Makefile.
202
- (bbg) new ISO8859-1 codes in unicode.c:convert.
203
- (bbg) fixed several bugs in list.c, and patched list_del() to return 2 if
204
- deleted data was list->current.
205
-
206
- 1/9
207
- (bbg) added new list_init(). Use it.
208
- (bbg) wrote a fix to the list_del()+for_each_data bug. It's not very good, but
209
- works. Fixes the nested loops too. Now you can use for_each_data
210
- recursively.
211
-
212
- 8/9
213
- (bbg) more fixes from the old LL system to the new one.
214
- (js) added list_higher_level(), fix list_lower_level()
215
- bug fixed free_textlines(),store_boxtree_lines(),store_boxtree_lines()
216
- (js) review of pgm2asc() finished
217
-
218
- 9/9
219
- (bbg) more fixes from the old LL system to the new one.
220
- (bbg) fixed the realloc fixes of 8/9 in fix list_lower_level(),
221
- free_textlines(),store_boxtree_lines(), and fixed list_higher_level(),
222
- to avoid a blow if realloc fails. Now things continue working.
223
- (js) compilation bug removed
224
- (bbg) reviewed context_correction().
225
- (bbg) moved output_list() and write_img() to output.c. Added output.h.
226
- ?bbg? Since output.c functions are only for debugging, what do you think about
227
- adding some #ifdef DEBUGs to make a smaller, faster code? It doesn't have
228
- to be done now, but it's an idea.
229
- (js) its general good idea, but I would use a DEBUG level
230
- DEBUG > 2 (or similar)
231
- during development (until version 1.0) DEBUG should be activated
232
- by default,
233
- people could experiment with it and experts could deactivate DEBUG
234
- (bbg) cleaned old textline functions.
235
-
236
- 11/9
237
- (js) have fixed two major bugs, gocr now works again (but only -m 56 works)
238
-
239
- 18/9
240
- (js) pedantic compiler warnings removed
241
- bbg: compiling using pam (netpbm, see 22/9) functions generate some warnings,
242
- which are caused by pam.h and do not affect gocr.
243
- (js) list_del() does not work proper in context_correction(), fixed
244
- bbg: list_del return value should be checked always. I'm not sure what
245
- behaviour you want, so I didn't add the checks.
246
- (js) malloc_box() bug fixed (memcpy src-dest mismatch)
247
-
248
- 21/9
249
- (js) pgm2asc.c L1954, 2nd scan removed, now much faster, but
250
- handling of umlaut etc. is missing (similar to gluing function)
251
- bbg: umlaut is detected. Are you sure it's missing?
252
- (js) I am away until Sept 30th 2000
253
-
254
- 22/9
255
- |bbg| pnm_readpnmrow() SIGSEGV's. Don't know why.
256
- ?js? (when does it happens? example file?)
257
- bbg: any file, here. Does it work for you? Are you sure isn't the pam
258
- functions?
259
- (bbg) added new code to read pnm's using netpbm package (pam* functions). It
260
- works, but the drawback is that only recent (August 2000) libraries have
261
- these functions. Added test for pam.h in configure.
262
- [bbg] moved example files to ~/tests/. Updated Makefile.in to reflect changes
263
- and moved the pertinent stuff to tests/Makefile. I don't have experience
264
- with autoconf, but I think I did it right. :)
265
- (bbg) fixed tests for unistd.h, which were missing.
266
- |bbg| How to change gocr.tcl splitted windows proportion? It'd be nice to be
267
- able to have a larger output area.
268
- |bbg| gotta fix make.bat. There's a make for DOS, however; should we delete
269
- make.bat?
270
- (bbg) wrote INSTALL. Moved (no changes) history from README.txt to HISTORY.
271
- |bbg| review README.txt. Create a TODO file, BUGS, etc.
272
- :done
273
-
274
- 23/9
275
- ?bbg? database.c::ocr_db(), is any use for box3?
276
- (bbg) added "Elapsed time".
277
- (bbg) minor fixes.
278
-
279
- 24/9
280
- |bbg| remove_dust() broken? It's not being used currently, since it's the last
281
- piece of code using old list functions, and if it's updated, ocr1.c returns
282
- a bunch of "#hmm, something was going wrong". So, the problem may be in
283
- ocr1.c. I wrote the patch for remove_dust(), it's in #ifdefs.
284
- :done
285
- (bbg) patched rest of remove.c to with new list functions.
286
- [bbg] remove_pictures() loop is weird. I followed what was there, but it should
287
- be checked.
288
-
289
- 1/10
290
- (bbg) for_each_data now checks the return value of list_higher_level().
291
- (bbg) moved some functions to pixel.c
292
- (bbg) some cleanup
293
-
294
- 3/10
295
- (js) minor changes in Makefiles, add_line_infos() improved
296
-
297
- 6/10
298
- (bbg) fixed bug when inserting a node before header, in list_ins().
299
- (bbg) fixed bug that made for_each_data use list->header twice: l->fix wasn't
300
- properly initialized.
301
- (bbg) added list_sort(). Runned some tests, seems to be OK.
302
-
303
- 7/10
304
- (bbg) updated list_sort() to a faster version. Runned tests.
305
- (bbg) some minor cosmetic fixes
306
- |bbg| amiga.h: is it really needed, can someone test it?
307
- |bbg| As soon as remove_dust is fixed, the old list code can be deleted, which
308
- would be nice. So, Joerg, can you please fix it? Thanks.
309
- [js] Have I fixed it?
310
- :done
311
-
312
- 9/10
313
- (mg) moved gocr.tcl and create_db to new bin folder
314
- (mg) cleaned up Makefile.in (some subdirs not included yet)
315
- (mg) created new sub-folder lib
316
- (mg) created new sub-folder include
317
- [mg] installation for src is done very rudimentary
318
-
319
- 13/10
320
- (bbg) split README.txt in BUGS, TODO and CREDITS. Joerg: Please write an AUTHORS
321
- file.
322
- (bbg) renamed README.txt to README.
323
- (bbg) added list_empty(). Fixed list_higher_level to avoid empty lists. BTW: I
324
- think that passing an empty list (l->header==NULL) may blow some of the
325
- list functions.
326
-
327
- 16/10
328
- (bbg) added AUTHORS.
329
-
330
- 22/10
331
- (js) minor changes, glue_broken_chars() improved, ocr0 updated
332
- ?js? list_del() seems not to work in nested for_each_element()-loops
333
- [js] remove_dust fixed?
334
- :done
335
-
336
- 23/10
337
- (bbg) rewrote list_del, using a new kind of fix. It will work as long as the
338
- data is not freed by the user. A solution to fix this is to pass a pointer
339
- to a function that will free the data.
340
-
341
- 25/10
342
- (js) glue_broken_chars() recognition of "=" fixed, some other bugs fixed
343
- (js) some improvements for recognition (ocr0n.c,ocr0.c)
344
-
345
- 27/10
346
- (js) further improvements for better recognition results, polish.tex added
347
-
348
- 28/10
349
- (bbg) changed free_boxtree() to new code
350
- |bbg| have to fix the reast of the old box code
351
- :done
352
-
353
- 4/11
354
- [bbg] one of the frees of the new free_boxtree code sigsevs. I dunno why.
355
- (js) boxlist->element->p is a pointer to existing whole pixmap, do not free this!
356
- [bbg] I commented the following lines of pgmasc.c: 1430,43,55,67,81,95, since
357
- they seem to be unnecessary.
358
- (js) hmm: they are not needed for list_ins, but could be usefull for
359
- a engine which looks for surrounding boxes. Do you know what I mean?
360
- It was the last step of the conversion to the
361
- new list routines. *uf*.
362
- (bbg) ALL OLD CODE ROUTINES ARE DEPRECATED NOW. Mission successful, waiting for
363
- permission to delete. :)
364
- (js) permission granted
365
- (bbg) Just to reassure, I tested gocr today and it's 100%
366
- [bbg] change sort_boxes to a call to list_sort. sort_box_func should be
367
- reviewed
368
- (js) looks ok to me.
369
- or tini_list(){
370
- (js) ???
371
- ?bbg? ini_list(), exclude() & getresult(): should they be deleted?
372
- (js) not found :(
373
- I'm working
374
- on a probability based engine, using neural networks.
375
-
376
- 6/11
377
- (js) get Segmentation fault, => fixed
378
-
379
- 14/11
380
- (bbg) deleted old list code.
381
- (bbg) moved all detect* functions to detect.c
382
- (bbg) movde lines functions to lines.c
383
-
384
- 22/11
385
- (bbg) reviewed frame_nn(), mark_nn(), num_hole(), num_obj(). Some other minor
386
- revisions.
387
- (bbg) added outbounds() macro in gocr.h. It should be used from now on.
388
-
389
- 24/11
390
- (js) some patches by J.R.V. Zandt added
391
- ?js? have still problems detecting pnm-libs via autoconf/configure
392
-
393
- 25/11
394
- (bbg) added HTML support for all ISO8859-1 characters in unicode.
395
-
396
- 27/11
397
- (bbg) some fixes in unicode.*
398
- |bbg| whatletter needs a serious revision.
399
-
400
- 30/11
401
- [js] split ocr0.c (compiles faster now), gcc 2.95.1 "bug" removed?
402
-
403
- 10/12
404
- [bbg] Unicode is now supported. Some tests should be made, specially testing
405
- UNKNOWN/PICTURE and >0xFF characters.
406
-
407
- 17/12
408
- [js] pamlib,netlib,pnmlib detection (configure.in) changed
409
-
410
- 21/12
411
- [jrv] pgm2asc changes:
412
- context_correction() BUGFIX: test whether
413
- previous(previous(current)) exists, before trying to dereferencing the pointer.
414
- follow_path() introduced: follow a path, recording transitions
415
- between dark and light.
416
- xrealloc() introduced: safe memory allocation
417
- loop() optimization: move direction test outside loop, simplify loop test
418
- measure_pitch() introduced: detect monospaced font and measure the pitch
419
- pgm2asc(): if font is monospaced, set spc per measured character spacing.
420
- A few wording fixes.
421
-
422
- 05/01
423
- (js) some fixes in glue_broken_chars results in good ";" and "!" detection
424
- engine updated (examples/font1.pbm should work perfect)
425
-
426
- 19/02
427
- (js) "make dist" now automaticly makes packaging (gocr-x.y.z.tgz)
428
- does the Makefile in api working (especially make clean/proper)?
429
- "make install" should work too
430
- bbg: API makefiles work, but there's no make proper (use distclean instead)
431
- I'd appreciate if someone could test the configure and libpnm. install is
432
- not tested yet.
433
-
434
- 19/04
435
- [js] USE_UNICODE defined as default in gocr.h (test it), some fixes to get
436
- -f TeX, -f HTML running, fixed bug in lines.c (unterminated string)
437
- measure_pitch extended to 12<width<150 (see example)
438
-
439
- 15/05
440
- [js] list.c line 225+226 realloc( .., (l->level+2)..) correct? (S.Niemz bug)
441
-
442
- 30/07
443
- ?js? readpnm if USE_libpnm does not the job of old readpgm (for pbm-files)
444
-
445
- 22/08
446
- (js) gcc -Wall -pedantic warnings fixed, ocr0.c wchar_t used by default
447
- we should switch to wchar_t, its more flexible and ANSI (?)
448
- and the huge number of "#ifdef USE_UNICODE" statements are looking bad
449
- ?js? can someone compile test on a machine without wchar.h? (FREEBSD?)
450
-
451
- 25/08
452
- ?js? I got following warning by gcc 2.95.3 20010315 (-Wall -pedantic):
453
- lines.c: In function 'store_boxtree_lines':
454
- lines.c:136: warning: implicit declaration of function 'wcsdup'
455
- but I included <wchar.h>. Does anybody understand this???
456
- hmmm ... Is it because of not ANSI (but GNU) extension?
457
- What should we do with non-standart C-functions?
458
- May be therefore I got the complains from FREEBSD users?
459
-
460
- 30/08
461
- (js) pgm2asc.c, output.c simplified, improvement of char-devision
462
-
463
- 08/02/2002
464
- ?js? all possible SIGSEGVs in list.c fixed
465
-
466
- 15/02/2002
467
- [js] ocr0.c will use setac() in future manipulating struct box - tac,wac
468
- and c, if chars are very similar this will make context correction more
469
- easyly, filtering will be more easily too (not fully implemented)
470
-
471
- 25/02/2002
472
- [js] box->obj added for storing more than one char
473
-
474
- 02/06/2002
475
- (jb) added special encodings for '&', '<', '>' to HTML decoder
476
-
477
- 05/06/2002
478
- [jb] job_t introduced (same patch as sent to the mailing list)
479
- Only local variables (configuration and pixmap) of main() are
480
- moved inside job_t yet.
481
- [jb] boxlist and linelist converted to job_t
482
- [jb] Temorary introduction of global variable JOB (of type job_t)
483
- This variable will be removed, while all functions are converted to
484
- receive either an job_t pointer or the needed values.
485
- [jb] n_run, env, db_path and ppo converted to job_t
486
- [jb] converted dblist
487
- [jb] renamed init_job and free_job to job_free and job_init
488
- [jb] converted nearly all global variables (except warn and debug) to
489
- job_t. Used JOB as new temporaryr global variable.
490
- Overview of the renaming (some old variables are combined to a new one):
491
-
492
- OLD VAR NAMES NEW VAR NAME
493
- * main():inam JOB->src.fname
494
- * main():p JOB->src.p
495
- env.p
496
- * main():init JOB->tmp.init_time
497
- * ppo JOB->tmp.ppo
498
- * n_run JOB->tmp.n_run
499
- * dblist JOB->tmp.dblist
500
- * boxlist JOB->res.boxlist
501
- * linelist JOB->res.linelist
502
- * lines JOB->res.lines
503
- * env.avX JOB->res.avX
504
- * env.avY JOB->res.avY
505
- * env.sumX JOB->res.sumX
506
- * env.sumY JOB->res.sumY
507
- * env.numC JOB->res.numC
508
- * main():cs JOB->cfg.cs
509
- env.cs
510
- * main():spc JOB->cfg.spc
511
- * main():mo JOB->cfg.mode
512
- env.mode
513
- * main():dust_size JOB->cfg.dust_size
514
- * main():numo JOB->cfg.only_numbers
515
- only_numbers
516
- * main():verbose JOB->cfg.verbose
517
- env.vvv
518
- * main():out_format JOB->cfg.out_format
519
- * main():lc JOB->cfg.lc
520
- * env.db_path JOB->cfg.db_path
521
-
522
- [jb] introduced list_and_data_free
523
-
524
- |jb| get rid of JOB.
525
- |jb| decide on last global variables "warn" and "debug"
526
- js: its thought for debugging, we should use MACROS WARN or DEBUG
527
- |jb| eliminate static buffers inside fucntions.
528
-
529
- 30/06/2002
530
- (js) gocr.h: struct box: modifier now wchar_t
531
- mark things, which need changes with "ToDo:" directly in the sources,
532
- so that we can grep for it and see that there are planed changes
533
-
534
- 05/01/2003
535
- (js) ocr0.c: engine splitted in groups of characters (mostly pairs)
536
- num_hole called once for every char, result is stored in a table
537
- ?js? cvs ci jocr does not work since 2003? (it tries to update jocr/CVS)
538
- have cvs-1.11.1p1