tesseract-ocr 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. data/README.md +54 -16
  2. data/bin/tesseract-train.rb +63 -0
  3. data/examples/nerdz-captcha-breaker/break.rb +18 -10
  4. data/examples/nerdz-captcha-breaker/captchas/001.png +0 -0
  5. data/examples/nerdz-captcha-breaker/captchas/002.png +0 -0
  6. data/examples/nerdz-captcha-breaker/captchas/003.png +0 -0
  7. data/examples/nerdz-captcha-breaker/captchas/004.png +0 -0
  8. data/examples/nerdz-captcha-breaker/captchas/005.png +0 -0
  9. data/examples/nerdz-captcha-breaker/captchas/006.png +0 -0
  10. data/examples/nerdz-captcha-breaker/captchas/007.png +0 -0
  11. data/examples/nerdz-captcha-breaker/captchas/008.png +0 -0
  12. data/examples/nerdz-captcha-breaker/captchas/009.png +0 -0
  13. data/examples/nerdz-captcha-breaker/captchas/010.png +0 -0
  14. data/examples/nerdz-captcha-breaker/captchas/011.png +0 -0
  15. data/examples/nerdz-captcha-breaker/captchas/012.png +0 -0
  16. data/examples/nerdz-captcha-breaker/captchas/013.png +0 -0
  17. data/examples/nerdz-captcha-breaker/captchas/014.png +0 -0
  18. data/examples/nerdz-captcha-breaker/captchas/015.png +0 -0
  19. data/examples/nerdz-captcha-breaker/captchas/016.png +0 -0
  20. data/examples/nerdz-captcha-breaker/captchas/017.png +0 -0
  21. data/examples/nerdz-captcha-breaker/captchas/018.png +0 -0
  22. data/examples/nerdz-captcha-breaker/captchas/019.png +0 -0
  23. data/examples/nerdz-captcha-breaker/captchas/020.png +0 -0
  24. data/examples/nerdz-captcha-breaker/captchas/021.png +0 -0
  25. data/examples/nerdz-captcha-breaker/captchas/022.png +0 -0
  26. data/examples/nerdz-captcha-breaker/captchas/023.png +0 -0
  27. data/examples/nerdz-captcha-breaker/captchas/024.png +0 -0
  28. data/examples/nerdz-captcha-breaker/captchas/025.png +0 -0
  29. data/examples/nerdz-captcha-breaker/captchas/026.png +0 -0
  30. data/examples/nerdz-captcha-breaker/captchas/027.png +0 -0
  31. data/examples/nerdz-captcha-breaker/captchas/028.png +0 -0
  32. data/examples/nerdz-captcha-breaker/captchas/029.png +0 -0
  33. data/examples/nerdz-captcha-breaker/captchas/030.png +0 -0
  34. data/examples/nerdz-captcha-breaker/captchas/031.png +0 -0
  35. data/examples/nerdz-captcha-breaker/captchas/032.png +0 -0
  36. data/examples/nerdz-captcha-breaker/captchas/033.png +0 -0
  37. data/examples/nerdz-captcha-breaker/captchas/034.png +0 -0
  38. data/examples/nerdz-captcha-breaker/captchas/035.png +0 -0
  39. data/examples/nerdz-captcha-breaker/captchas/036.png +0 -0
  40. data/examples/nerdz-captcha-breaker/captchas/037.png +0 -0
  41. data/examples/nerdz-captcha-breaker/captchas/038.png +0 -0
  42. data/examples/nerdz-captcha-breaker/captchas/039.png +0 -0
  43. data/examples/nerdz-captcha-breaker/captchas/040.png +0 -0
  44. data/examples/nerdz-captcha-breaker/captchas/041.png +0 -0
  45. data/examples/nerdz-captcha-breaker/captchas/042.png +0 -0
  46. data/examples/nerdz-captcha-breaker/captchas/043.png +0 -0
  47. data/examples/nerdz-captcha-breaker/captchas/044.png +0 -0
  48. data/examples/nerdz-captcha-breaker/captchas/045.png +0 -0
  49. data/examples/nerdz-captcha-breaker/captchas/046.png +0 -0
  50. data/examples/nerdz-captcha-breaker/captchas/047.png +0 -0
  51. data/examples/nerdz-captcha-breaker/captchas/048.png +0 -0
  52. data/examples/nerdz-captcha-breaker/captchas/049.png +0 -0
  53. data/examples/nerdz-captcha-breaker/captchas/050.png +0 -0
  54. data/examples/nerdz-captcha-breaker/captchas/051.png +0 -0
  55. data/examples/nerdz-captcha-breaker/captchas/052.png +0 -0
  56. data/examples/nerdz-captcha-breaker/captchas/053.png +0 -0
  57. data/examples/nerdz-captcha-breaker/captchas/054.png +0 -0
  58. data/examples/nerdz-captcha-breaker/captchas/055.png +0 -0
  59. data/examples/nerdz-captcha-breaker/captchas/056.png +0 -0
  60. data/examples/nerdz-captcha-breaker/captchas/057.png +0 -0
  61. data/examples/nerdz-captcha-breaker/captchas/058.png +0 -0
  62. data/examples/nerdz-captcha-breaker/captchas/059.png +0 -0
  63. data/examples/nerdz-captcha-breaker/captchas/060.png +0 -0
  64. data/examples/nerdz-captcha-breaker/captchas/061.png +0 -0
  65. data/examples/nerdz-captcha-breaker/captchas/062.png +0 -0
  66. data/examples/nerdz-captcha-breaker/captchas/063.png +0 -0
  67. data/examples/nerdz-captcha-breaker/captchas/064.png +0 -0
  68. data/examples/nerdz-captcha-breaker/captchas/065.png +0 -0
  69. data/examples/nerdz-captcha-breaker/captchas/066.png +0 -0
  70. data/examples/nerdz-captcha-breaker/captchas/067.png +0 -0
  71. data/examples/nerdz-captcha-breaker/captchas/068.png +0 -0
  72. data/examples/nerdz-captcha-breaker/captchas/069.png +0 -0
  73. data/examples/nerdz-captcha-breaker/captchas/070.png +0 -0
  74. data/examples/nerdz-captcha-breaker/captchas/071.png +0 -0
  75. data/examples/nerdz-captcha-breaker/captchas/072.png +0 -0
  76. data/examples/nerdz-captcha-breaker/captchas/073.png +0 -0
  77. data/examples/nerdz-captcha-breaker/captchas/074.png +0 -0
  78. data/examples/nerdz-captcha-breaker/captchas/075.png +0 -0
  79. data/examples/nerdz-captcha-breaker/captchas/076.png +0 -0
  80. data/examples/nerdz-captcha-breaker/captchas/077.png +0 -0
  81. data/examples/nerdz-captcha-breaker/captchas/078.png +0 -0
  82. data/examples/nerdz-captcha-breaker/captchas/079.png +0 -0
  83. data/examples/nerdz-captcha-breaker/captchas/080.png +0 -0
  84. data/examples/nerdz-captcha-breaker/captchas/081.png +0 -0
  85. data/examples/nerdz-captcha-breaker/captchas/082.png +0 -0
  86. data/examples/nerdz-captcha-breaker/captchas/083.png +0 -0
  87. data/examples/nerdz-captcha-breaker/captchas/084.png +0 -0
  88. data/examples/nerdz-captcha-breaker/captchas/085.png +0 -0
  89. data/examples/nerdz-captcha-breaker/captchas/086.png +0 -0
  90. data/examples/nerdz-captcha-breaker/captchas/087.png +0 -0
  91. data/examples/nerdz-captcha-breaker/captchas/088.png +0 -0
  92. data/examples/nerdz-captcha-breaker/captchas/089.png +0 -0
  93. data/examples/nerdz-captcha-breaker/captchas/090.png +0 -0
  94. data/examples/nerdz-captcha-breaker/captchas/091.png +0 -0
  95. data/examples/nerdz-captcha-breaker/captchas/092.png +0 -0
  96. data/examples/nerdz-captcha-breaker/captchas/093.png +0 -0
  97. data/examples/nerdz-captcha-breaker/captchas/094.png +0 -0
  98. data/examples/nerdz-captcha-breaker/captchas/095.png +0 -0
  99. data/examples/nerdz-captcha-breaker/captchas/096.png +0 -0
  100. data/examples/nerdz-captcha-breaker/captchas/097.png +0 -0
  101. data/examples/nerdz-captcha-breaker/captchas/098.png +0 -0
  102. data/examples/nerdz-captcha-breaker/captchas/099.png +0 -0
  103. data/examples/nerdz-captcha-breaker/captchas/100.png +0 -0
  104. data/examples/nerdz-captcha-breaker/captchas/captchas.txt +100 -0
  105. data/examples/nerdz-captcha-breaker/tessdata/generate.rb +21 -0
  106. data/examples/nerdz-captcha-breaker/tessdata/lol.box +600 -0
  107. data/examples/nerdz-captcha-breaker/tessdata/lol.tif +0 -0
  108. data/examples/nerdz-captcha-breaker/tessdata/lol.traineddata +0 -0
  109. data/examples/nerdz-captcha-breaker/test.rb +11 -0
  110. data/lib/tesseract/engine.rb +19 -2
  111. data/lib/tesseract/extensions.rb +0 -1
  112. data/lib/tesseract/version.rb +1 -1
  113. data/test/jsmj.png +0 -0
  114. data/test/tesseract_spec.rb +9 -0
  115. metadata +122 -14
  116. data/examples/nerdz-captcha-breaker/lol.gd-giant.exp.box +0 -112
  117. data/examples/nerdz-captcha-breaker/lol.gd-giant.exp.tif +0 -0
@@ -0,0 +1,11 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ expected = File.read('captchas/captchas.txt').lines.to_a
4
+
5
+ `./break.rb captchas/*.png`.lines.each_with_index {|line, index|
6
+ whole, path, output = line.match(/^(.*?): (.*?)$/).to_a
7
+
8
+ unless output == expected[index].chomp
9
+ puts "#{path}: expected #{expected[index].chomp} but got #{output}"
10
+ end
11
+ }
@@ -178,6 +178,23 @@ class Engine
178
178
  _iterator.__send__ "each_#{level}", &block
179
179
  end
180
180
 
181
+ namedic :image, :x, :y, :width, :height,
182
+ :optional => 0 .. -1,
183
+ :alias => { :w => :width, :h => :height }
184
+ define_method "each_#{level}_for" do |image = nil, x = nil, y = nil, width = nil, height = nil, &block|
185
+ self.image = image if image
186
+ select x, y, width, height
187
+
188
+ __send__ "each_#{level}", &block
189
+ end
190
+
191
+ namedic :x, :y, :width, :height,
192
+ :optional => 0 .. -1,
193
+ :alias => { :w => :width, :h => :height }
194
+ define_method "each_#{level}_at" do |x = nil, y = nil, width = nil, height = nil, &block|
195
+ __send__ "each_#{level}_for", nil, x, y, width, height, &block
196
+ end
197
+
181
198
  define_method "#{level}s" do
182
199
  _iterator.__send__ "#{level}s"
183
200
  end
@@ -189,14 +206,14 @@ class Engine
189
206
  self.image = image if image
190
207
  select x, y, width, height
191
208
 
192
- __send__("#{level}s")
209
+ __send__ "#{level}s"
193
210
  end
194
211
 
195
212
  namedic :x, :y, :width, :height,
196
213
  :optional => 0 .. -1,
197
214
  :alias => { :w => :width, :h => :height }
198
215
  define_method "#{level}s_at" do |x = nil, y = nil, width = nil, height = nil|
199
- __send__("#{level}s_for", nil, x, y, width, height)
216
+ __send__ "#{level}s_for", nil, x, y, width, height
200
217
  end
201
218
  }
202
219
 
@@ -25,4 +25,3 @@
25
25
  require 'namedic'
26
26
  require 'memoized'
27
27
  require 'iso-639'
28
- require 'io/manage'
@@ -24,6 +24,6 @@
24
24
 
25
25
  module Tesseract
26
26
  def self.version
27
- '0.0.4'
27
+ '0.1.0'
28
28
  end
29
29
  end
data/test/jsmj.png ADDED
Binary file
@@ -78,6 +78,15 @@ describe Tesseract::Engine do
78
78
  end
79
79
  end
80
80
 
81
+ describe '#page_segmentation_mode' do
82
+ it 'sets it correctly' do
83
+ engine.with {|e|
84
+ e.page_segmentation_mode = 8
85
+ e.whitelist = [*'a'..'z', *'A'..'Z', *0..9, " ."].join
86
+ }.text_for('jsmj.png').strip.should == 'JSmj'
87
+ end
88
+ end
89
+
81
90
  describe '#blocks' do
82
91
  it 'works properly with first image' do
83
92
  engine.blocks_for('first.png').first.to_s.should == "ABC\n"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tesseract-ocr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-30 00:00:00.000000000 Z
12
+ date: 2011-12-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: namedic
16
- requirement: &12863500 !ruby/object:Gem::Requirement
16
+ requirement: &20715740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *12863500
24
+ version_requirements: *20715740
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: memoized
27
- requirement: &12861460 !ruby/object:Gem::Requirement
27
+ requirement: &20730960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *12861460
35
+ version_requirements: *20730960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: iso-639
38
- requirement: &12888100 !ruby/object:Gem::Requirement
38
+ requirement: &20729480 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *12888100
46
+ version_requirements: *20729480
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: ffi-extra
49
- requirement: &12886020 !ruby/object:Gem::Requirement
49
+ requirement: &20727420 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *12886020
57
+ version_requirements: *20727420
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: ffi-inliner
60
- requirement: &12882760 !ruby/object:Gem::Requirement
60
+ requirement: &20726120 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,20 +65,126 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *12882760
68
+ version_requirements: *20726120
69
69
  description:
70
70
  email: meh@paranoici.org
71
71
  executables:
72
+ - tesseract-train.rb
72
73
  - tesseract.rb
73
74
  extensions: []
74
75
  extra_rdoc_files: []
75
76
  files:
76
77
  - README.md
77
78
  - Rakefile
79
+ - bin/tesseract-train.rb
78
80
  - bin/tesseract.rb
79
81
  - examples/nerdz-captcha-breaker/break.rb
80
- - examples/nerdz-captcha-breaker/lol.gd-giant.exp.box
81
- - examples/nerdz-captcha-breaker/lol.gd-giant.exp.tif
82
+ - examples/nerdz-captcha-breaker/captchas/001.png
83
+ - examples/nerdz-captcha-breaker/captchas/002.png
84
+ - examples/nerdz-captcha-breaker/captchas/003.png
85
+ - examples/nerdz-captcha-breaker/captchas/004.png
86
+ - examples/nerdz-captcha-breaker/captchas/005.png
87
+ - examples/nerdz-captcha-breaker/captchas/006.png
88
+ - examples/nerdz-captcha-breaker/captchas/007.png
89
+ - examples/nerdz-captcha-breaker/captchas/008.png
90
+ - examples/nerdz-captcha-breaker/captchas/009.png
91
+ - examples/nerdz-captcha-breaker/captchas/010.png
92
+ - examples/nerdz-captcha-breaker/captchas/011.png
93
+ - examples/nerdz-captcha-breaker/captchas/012.png
94
+ - examples/nerdz-captcha-breaker/captchas/013.png
95
+ - examples/nerdz-captcha-breaker/captchas/014.png
96
+ - examples/nerdz-captcha-breaker/captchas/015.png
97
+ - examples/nerdz-captcha-breaker/captchas/016.png
98
+ - examples/nerdz-captcha-breaker/captchas/017.png
99
+ - examples/nerdz-captcha-breaker/captchas/018.png
100
+ - examples/nerdz-captcha-breaker/captchas/019.png
101
+ - examples/nerdz-captcha-breaker/captchas/020.png
102
+ - examples/nerdz-captcha-breaker/captchas/021.png
103
+ - examples/nerdz-captcha-breaker/captchas/022.png
104
+ - examples/nerdz-captcha-breaker/captchas/023.png
105
+ - examples/nerdz-captcha-breaker/captchas/024.png
106
+ - examples/nerdz-captcha-breaker/captchas/025.png
107
+ - examples/nerdz-captcha-breaker/captchas/026.png
108
+ - examples/nerdz-captcha-breaker/captchas/027.png
109
+ - examples/nerdz-captcha-breaker/captchas/028.png
110
+ - examples/nerdz-captcha-breaker/captchas/029.png
111
+ - examples/nerdz-captcha-breaker/captchas/030.png
112
+ - examples/nerdz-captcha-breaker/captchas/031.png
113
+ - examples/nerdz-captcha-breaker/captchas/032.png
114
+ - examples/nerdz-captcha-breaker/captchas/033.png
115
+ - examples/nerdz-captcha-breaker/captchas/034.png
116
+ - examples/nerdz-captcha-breaker/captchas/035.png
117
+ - examples/nerdz-captcha-breaker/captchas/036.png
118
+ - examples/nerdz-captcha-breaker/captchas/037.png
119
+ - examples/nerdz-captcha-breaker/captchas/038.png
120
+ - examples/nerdz-captcha-breaker/captchas/039.png
121
+ - examples/nerdz-captcha-breaker/captchas/040.png
122
+ - examples/nerdz-captcha-breaker/captchas/041.png
123
+ - examples/nerdz-captcha-breaker/captchas/042.png
124
+ - examples/nerdz-captcha-breaker/captchas/043.png
125
+ - examples/nerdz-captcha-breaker/captchas/044.png
126
+ - examples/nerdz-captcha-breaker/captchas/045.png
127
+ - examples/nerdz-captcha-breaker/captchas/046.png
128
+ - examples/nerdz-captcha-breaker/captchas/047.png
129
+ - examples/nerdz-captcha-breaker/captchas/048.png
130
+ - examples/nerdz-captcha-breaker/captchas/049.png
131
+ - examples/nerdz-captcha-breaker/captchas/050.png
132
+ - examples/nerdz-captcha-breaker/captchas/051.png
133
+ - examples/nerdz-captcha-breaker/captchas/052.png
134
+ - examples/nerdz-captcha-breaker/captchas/053.png
135
+ - examples/nerdz-captcha-breaker/captchas/054.png
136
+ - examples/nerdz-captcha-breaker/captchas/055.png
137
+ - examples/nerdz-captcha-breaker/captchas/056.png
138
+ - examples/nerdz-captcha-breaker/captchas/057.png
139
+ - examples/nerdz-captcha-breaker/captchas/058.png
140
+ - examples/nerdz-captcha-breaker/captchas/059.png
141
+ - examples/nerdz-captcha-breaker/captchas/060.png
142
+ - examples/nerdz-captcha-breaker/captchas/061.png
143
+ - examples/nerdz-captcha-breaker/captchas/062.png
144
+ - examples/nerdz-captcha-breaker/captchas/063.png
145
+ - examples/nerdz-captcha-breaker/captchas/064.png
146
+ - examples/nerdz-captcha-breaker/captchas/065.png
147
+ - examples/nerdz-captcha-breaker/captchas/066.png
148
+ - examples/nerdz-captcha-breaker/captchas/067.png
149
+ - examples/nerdz-captcha-breaker/captchas/068.png
150
+ - examples/nerdz-captcha-breaker/captchas/069.png
151
+ - examples/nerdz-captcha-breaker/captchas/070.png
152
+ - examples/nerdz-captcha-breaker/captchas/071.png
153
+ - examples/nerdz-captcha-breaker/captchas/072.png
154
+ - examples/nerdz-captcha-breaker/captchas/073.png
155
+ - examples/nerdz-captcha-breaker/captchas/074.png
156
+ - examples/nerdz-captcha-breaker/captchas/075.png
157
+ - examples/nerdz-captcha-breaker/captchas/076.png
158
+ - examples/nerdz-captcha-breaker/captchas/077.png
159
+ - examples/nerdz-captcha-breaker/captchas/078.png
160
+ - examples/nerdz-captcha-breaker/captchas/079.png
161
+ - examples/nerdz-captcha-breaker/captchas/080.png
162
+ - examples/nerdz-captcha-breaker/captchas/081.png
163
+ - examples/nerdz-captcha-breaker/captchas/082.png
164
+ - examples/nerdz-captcha-breaker/captchas/083.png
165
+ - examples/nerdz-captcha-breaker/captchas/084.png
166
+ - examples/nerdz-captcha-breaker/captchas/085.png
167
+ - examples/nerdz-captcha-breaker/captchas/086.png
168
+ - examples/nerdz-captcha-breaker/captchas/087.png
169
+ - examples/nerdz-captcha-breaker/captchas/088.png
170
+ - examples/nerdz-captcha-breaker/captchas/089.png
171
+ - examples/nerdz-captcha-breaker/captchas/090.png
172
+ - examples/nerdz-captcha-breaker/captchas/091.png
173
+ - examples/nerdz-captcha-breaker/captchas/092.png
174
+ - examples/nerdz-captcha-breaker/captchas/093.png
175
+ - examples/nerdz-captcha-breaker/captchas/094.png
176
+ - examples/nerdz-captcha-breaker/captchas/095.png
177
+ - examples/nerdz-captcha-breaker/captchas/096.png
178
+ - examples/nerdz-captcha-breaker/captchas/097.png
179
+ - examples/nerdz-captcha-breaker/captchas/098.png
180
+ - examples/nerdz-captcha-breaker/captchas/099.png
181
+ - examples/nerdz-captcha-breaker/captchas/100.png
182
+ - examples/nerdz-captcha-breaker/captchas/captchas.txt
183
+ - examples/nerdz-captcha-breaker/tessdata/generate.rb
184
+ - examples/nerdz-captcha-breaker/tessdata/lol.box
185
+ - examples/nerdz-captcha-breaker/tessdata/lol.tif
186
+ - examples/nerdz-captcha-breaker/tessdata/lol.traineddata
187
+ - examples/nerdz-captcha-breaker/test.rb
82
188
  - lib/tesseract-ocr.rb
83
189
  - lib/tesseract.rb
84
190
  - lib/tesseract/api.rb
@@ -99,6 +205,7 @@ files:
99
205
  - lib/tesseract/version.rb
100
206
  - tesseract-ocr.gemspec
101
207
  - test/first.png
208
+ - test/jsmj.png
102
209
  - test/second.png
103
210
  - test/tesseract_bench.rb
104
211
  - test/tesseract_spec.rb
@@ -130,6 +237,7 @@ specification_version: 3
130
237
  summary: A wrapper library to the tesseract-ocr API.
131
238
  test_files:
132
239
  - test/first.png
240
+ - test/jsmj.png
133
241
  - test/second.png
134
242
  - test/tesseract_bench.rb
135
243
  - test/tesseract_spec.rb
@@ -1,112 +0,0 @@
1
- T 31 46 39 56 0
2
- h 40 46 48 56 0
3
- e 49 46 57 53 0
4
- ( 69 45 74 57 0
5
- q 76 44 84 53 0
6
- u 85 46 93 53 0
7
- i 95 46 101 56 0
8
- c 103 46 111 53 0
9
- k 113 46 120 56 0
10
- ) 122 45 127 57 0
11
- b 139 46 147 56 0
12
- r 148 46 156 53 0
13
- o 157 46 165 53 0
14
- w 166 46 174 53 0
15
- n 175 46 183 53 0
16
- { 195 46 200 56 0
17
- f 202 46 210 56 0
18
- o 211 46 219 53 0
19
- x 220 46 228 53 0
20
- } 230 46 235 56 0
21
- j 247 44 254 56 0
22
- u 256 46 264 53 0
23
- m 265 46 273 53 0
24
- p 274 44 282 53 0
25
- s 283 46 291 53 0
26
- ! 295 45 297 56 0
27
- o 310 46 318 53 0
28
- v 319 46 327 53 0
29
- e 328 46 336 53 0
30
- r 337 46 345 53 0
31
- t 355 46 363 55 0
32
- h 364 46 372 56 0
33
- e 373 46 381 53 0
34
- $ 392 45 399 56 0
35
- 3 400 46 408 56 0
36
- , 410 45 415 48 0
37
- 4 418 46 426 56 0
38
- 5 427 46 435 56 0
39
- 6 436 46 444 56 0
40
- . 447 45 451 48 0
41
- 7 454 46 462 56 0
42
- 8 463 46 471 56 0
43
- < 482 46 488 56 0
44
- l 492 46 496 56 0
45
- a 499 46 507 53 0
46
- z 509 46 515 53 0
47
- y 517 44 525 53 0
48
- > 526 46 532 56 0
49
- # 544 47 551 55 0
50
- 9 553 46 561 56 0
51
- 0 562 46 570 56 0
52
- d 580 46 588 56 0
53
- o 589 46 597 53 0
54
- g 598 44 606 53 0
55
- & 616 46 624 56 0
56
- d 634 46 642 56 0
57
- u 643 46 651 53 0
58
- c 652 46 660 53 0
59
- k 662 46 669 56 0
60
- / 670 46 678 56 0
61
- g 679 44 687 53 0
62
- o 688 46 696 53 0
63
- o 697 46 705 53 0
64
- s 706 46 714 53 0
65
- e 715 46 723 53 0
66
- , 725 45 730 48 0
67
- a 742 46 750 53 0
68
- s 751 46 759 53 0
69
- 1 770 46 776 56 0
70
- 2 778 46 786 56 0
71
- . 789 45 793 48 0
72
- 5 796 46 804 56 0
73
- % 805 46 813 56 0
74
- o 823 46 831 53 0
75
- f 832 46 840 56 0
76
- E 850 46 857 56 0
77
- - 859 50 867 51 0
78
- m 868 46 876 53 0
79
- a 877 46 885 53 0
80
- i 887 46 893 56 0
81
- l 897 46 901 56 0
82
- f 913 46 921 56 0
83
- r 922 46 930 53 0
84
- o 931 46 939 53 0
85
- m 940 46 948 53 0
86
- a 958 46 966 53 0
87
- s 967 46 975 53 0
88
- p 976 44 984 53 0
89
- a 985 46 993 53 0
90
- m 994 46 1002 53 0
91
- m 1003 46 1011 53 0
92
- e 1012 46 1020 53 0
93
- r 1021 46 1029 53 0
94
- @ 1030 46 1038 56 0
95
- w 1039 46 1047 53 0
96
- e 1048 46 1056 53 0
97
- b 1057 46 1065 56 0
98
- s 1066 46 1074 53 0
99
- i 1076 46 1082 56 0
100
- t 1084 46 1092 55 0
101
- e 1093 46 1101 53 0
102
- . 1104 45 1108 48 0
103
- c 1111 46 1119 53 0
104
- o 1120 46 1128 53 0
105
- m 1129 46 1137 53 0
106
- i 1148 46 1154 56 0
107
- s 1156 46 1164 53 0
108
- s 1174 46 1182 53 0
109
- p 1183 44 1191 53 0
110
- a 1192 46 1200 53 0
111
- m 1201 46 1209 53 0
112
- ? 1211 46 1218 56 0