Private Function GetLetter(Left As Single, Right As Single, YPos As Single, Pivot As Byte) As String
On Error GoTo GetLetter_Error
1 Select Case Abs(Left - Right)
Case 13
2 GetLetter = "W"
3 Case 11
4 GetLetter = "w"
5 Case 10
6 If BrightPixel(5, 11, Left, YPos, Pivot) Then
7 If BrightPixel(0, 2, Left, YPos, Pivot) Then
8 If BrightPixel(1, 7, Left, YPos, Pivot) Then
9 GetLetter = "M"
10 Else
11 GetLetter = "T"
12 End If
13 Else
14 If BrightPixel(5, 3, Left, YPos, Pivot) Then
15 GetLetter = "0"
16 Else
17 GetLetter = "U"
18 End If
19 End If
20 Else
21 If BrightPixel(4, 11, Left, YPos, Pivot) Then
22 GetLetter = "V"
23 Else
24 If BrightPixel(1, 2, Left, YPos, Pivot) Then
25 If BrightPixel(1, 10, Left, YPos, Pivot) Then
26 GetLetter = "X"
27 Else
28 GetLetter = "%"
29 End If
30 Else
31 GetLetter = "w"
32 End If
33 End If
34 End If
35 Case 9
36 If BrightPixel(4, 6, Left, YPos, Pivot) Then
37 If BrightPixel(0, 11, Left, YPos, Pivot) Then
38 If BrightPixel(7, 5, Left, YPos, Pivot) Then
39 GetLetter = "M"
40 Else
41 GetLetter = "R"
42 End If
43 Else
44 If BrightPixel(4, 8, Left, YPos, Pivot) Then
45 If BrightPixel(4, 2, Left, YPos, Pivot) Then
46 GetLetter = "O"
47 Else
48 GetLetter = "Y"
49 End If
50 Else
51 GetLetter = "0"
52 End If
53 End If
54 Else
55 If BrightPixel(0, 11, Left, YPos, Pivot) Then
56 GetLetter = "A"
57 Else
58 If BrightPixel(8, 8, Left, YPos, Pivot) Then
59 GetLetter = "Q"
60 Else
61 If BrightPixel(0, 3, Left, YPos, Pivot) Then
62 If BrightPixel(7, 5, Left, YPos, Pivot) Then
63 GetLetter = "T"
64 Else
65 GetLetter = "V"
66 End If
67 Else
68 GetLetter = "u"
69 End If
70 End If
71 End If
72 End If
73 Case 8
74 If BrightPixel(3, 6, Left, YPos, Pivot) Then
75 If BrightPixel(5, 10, Left, YPos, Pivot) Then
76 If BrightPixel(0, 7, Left, YPos, Pivot) Then
77 GetLetter = "m"
78 Else
79 If BrightPixel(4, 6, Left, YPos, Pivot) Then
80 GetLetter = "a"
81 Else
82 GetLetter = "x"
83 End If
84 End If
85 Else
86 If BrightPixel(0, 7, Left, YPos, Pivot) Then
87 GetLetter = "N"
88 Else
89 If BrightPixel(4, 5, Left, YPos, Pivot) Then
90 GetLetter = "t"
91 Else
92 If BrightPixel(0, 3, Left, YPos, Pivot) Then
93 GetLetter = "X"
94 Else
95 GetLetter = "x"
96 End If
97 End If
98 End If
99 End If
100 Else
101 If BrightPixel(0, 7, Left, YPos, Pivot) Then
102 If BrightPixel(0, 2, Left, YPos, Pivot) Then
103 GetLetter = "D"
104 Else
105 GetLetter = "C"
106 End If
107 Else
108 If BrightPixel(0, 6, Left, YPos, Pivot) Then
109 GetLetter = "v"
110 Else
111 If BrightPixel(0, 11, Left, YPos, Pivot) Then
112 GetLetter = "A"
113 Else
114 GetLetter = "y"
115 End If
116 End If
117 End If
118 End If
119 Case 7
120 If BrightPixel(3, 8, Left, YPos, Pivot) Then
121 If BrightPixel(0, 8, Left, YPos, Pivot) Then
122 If BrightPixel(4, 2, Left, YPos, Pivot) Then
123 GetLetter = "4"
124 Else
125 If BrightPixel(2, 12, Left, YPos, Pivot) Then
126 GetLetter = "q"
127 Else
128 If BrightPixel(1, 8, Left, YPos, Pivot) Then
129 GetLetter = "o"
130 Else
131 GetLetter = "m"
132 End If
133 End If
134 End If
135 Else
136 If BrightPixel(0, 5, Left, YPos, Pivot) Then
137 If BrightPixel(3, 3, Left, YPos, Pivot) Then
138 If BrightPixel(0, 11, Left, YPos, Pivot) Then
139 GetLetter = "R"
140 Else
141 GetLetter = "9"
142 End If
143 Else
144 If BrightPixel(0, 10, Left, YPos, Pivot) Then
145 GetLetter = "x"
146 Else
147 GetLetter = "t"
148 End If
149 End If
150 Else
151 If BrightPixel(1, 3, Left, YPos, Pivot) Then
152 If BrightPixel(3, 3, Left, YPos, Pivot) Then
153 GetLetter = "Z"
154 Else
155 GetLetter = "K"
156 End If
157 Else
158 GetLetter = "n"
159 End If
160 End If
161 End If
162 Else
163 If BrightPixel(5, 8, Left, YPos, Pivot) Then
164 If BrightPixel(3, 3, Left, YPos, Pivot) Then
165 GetLetter = "6"
166 Else
167 If BrightPixel(0, 3, Left, YPos, Pivot) Then
168 GetLetter = "H"
169 Else
170 GetLetter = "d"
171 End If
172 End If
173 Else
174 If BrightPixel(6, 5, Left, YPos, Pivot) Then
175 GetLetter = "c"
176 Else
177 If BrightPixel(2, 3, Left, YPos, Pivot) Then
178 If BrightPixel(5, 7, Left, YPos, Pivot) Then
179 GetLetter = "G"
180 Else
181 GetLetter = "C"
182 End If
183 Else
184 If BrightPixel(5, 5, Left, YPos, Pivot) Then
185 GetLetter = "q"
186 Else
187 GetLetter = "k"
188 End If
189 End If
190 End If
191 End If
192 End If
193 Case 6
194 If BrightPixel(2, 7, Left, YPos, Pivot) Then
195 If BrightPixel(3, 10, Left, YPos, Pivot) Then
196 If BrightPixel(2, 2, Left, YPos, Pivot) Then
197 If BrightPixel(0, 3, Left, YPos, Pivot) Then
198 GetLetter = "3"
199 Else
200 GetLetter = "5"
201 End If
202 Else
203 If BrightPixel(5, 8, Left, YPos, Pivot) Then
204 GetLetter = "S"
205 Else
206 GetLetter = "E"
207 End If
208 End If
209 Else
210 If BrightPixel(0, 3, Left, YPos, Pivot) Then
211 If BrightPixel(4, 4, Left, YPos, Pivot) Then
212 GetLetter = "P"
213 Else
214 GetLetter = "F"
215 End If
216 Else
217 If BrightPixel(0, 8, Left, YPos, Pivot) Then
218 If BrightPixel(5, 7, Left, YPos, Pivot) Then
219 GetLetter = "n"
220 Else
221 GetLetter = "h"
222 End If
223 Else
224 If BrightPixel(5, 9, Left, YPos, Pivot) Then
225 GetLetter = "a"
226 Else
227 GetLetter = "/"
228 End If
229 End If
230 End If
231 End If
232 Else
233 If BrightPixel(2, 6, Left, YPos, Pivot) Then
234 If BrightPixel(2, 5, Left, YPos, Pivot) Then
235 If BrightPixel(4, 11, Left, YPos, Pivot) Then
236 If BrightPixel(3, 4, Left, YPos, Pivot) Then
237 GetLetter = "g"
238 Else
239 GetLetter = "L"
240 End If
241 Else
242 GetLetter = "8"
243 End If
244 Else
245 If BrightPixel(0, 6, Left, YPos, Pivot) Then
246 GetLetter = "B"
247 Else
248 GetLetter = "3"
249 End If
250 End If
251 Else
252 If BrightPixel(2, 4, Left, YPos, Pivot) Then
253 If BrightPixel(2, 3, Left, YPos, Pivot) Then
254 GetLetter = "G"
255 Else
256 GetLetter = "r"
257 End If
258 Else
259 If BrightPixel(0, 4, Left, YPos, Pivot) Then
260 If BrightPixel(2, 3, Left, YPos, Pivot) Then
261 GetLetter = "2"
262 Else
263 GetLetter = "z"
264 End If
265 Else
266 If BrightPixel(0, 7, Left, YPos, Pivot) Then
267 If BrightPixel(0, 5, Left, YPos, Pivot) Then
268 GetLetter = "d"
269 Else
270 GetLetter = "g"
271 End If
272 Else
273 If BrightPixel(0, 3, Left, YPos, Pivot) Then
274 If BrightPixel(5, 10, Left, YPos, Pivot) Then
275 GetLetter = "Z"
276 Else
277 GetLetter = "7"
278 End If
279 Else
280 If BrightPixel(0, 5, Left, YPos, Pivot) Then
281 GetLetter = "z"
282 Else
283 GetLetter = "c"
284 End If
285 End If
286 End If
287 End If
288 End If
289 End If
290 End If
291 Case 5
292 If BrightPixel(0, 7, Left, YPos, Pivot) Then
293 If BrightPixel(2, 11, Left, YPos, Pivot) Then
294 If BrightPixel(3, 8, Left, YPos, Pivot) Then
295 GetLetter = "e"
296 Else
297 If BrightPixel(3, 7, Left, YPos, Pivot) Then
298 GetLetter = "E"
299 Else
300 GetLetter = "L"
301 End If
302 End If
303 Else
304 If BrightPixel(0, 10, Left, YPos, Pivot) Then
305 If BrightPixel(4, 10, Left, YPos, Pivot) Then
306 If BrightPixel(0, 4, Left, YPos, Pivot) Then
307 GetLetter = "B"
308 Else
309 GetLetter = "h"
310 End If
311 Else
312 GetLetter = "f"
313 End If
314 Else
315 If BrightPixel(2, 6, Left, YPos, Pivot) Then
316 GetLetter = "+"
317 Else
318 GetLetter = "r"
319 End If
320 End If
321 End If
322 Else
323 If BrightPixel(0, 10, Left, YPos, Pivot) Then
324 If BrightPixel(1, 4, Left, YPos, Pivot) Then
325 GetLetter = "S"
326 Else
327 GetLetter = "s"
328 End If
329 Else
330 If BrightPixel(3, 7, Left, YPos, Pivot) Then
331 GetLetter = "b"
332 Else
333 GetLetter = "l"
334 End If
335 End If
336 End If
337 Case 4
338 If BrightPixel(3, 9, Left, YPos, Pivot) Then
339 GetLetter = ")"
340 Else
341 If BrightPixel(3, 7, Left, YPos, Pivot) Then
342 If BrightPixel(3, 11, Left, YPos, Pivot) Then
343 GetLetter = "e"
344 Else
345 If BrightPixel(2, 7, Left, YPos, Pivot) Then
346 GetLetter = "f"
347 Else
348 GetLetter = "p"
349 End If
350 End If
351 Else
352 If BrightPixel(3, 6, Left, YPos, Pivot) Then
353 GetLetter = "-"
354 Else
355 If BrightPixel(3, 5, Left, YPos, Pivot) Then
356 GetLetter = "k"
357 Else
358 GetLetter = "l"
359 End If
360 End If
361 End If
362 End If
363 Case 3
364 If BrightPixel(2, 12, Left, YPos, Pivot) Then
365 GetLetter = "("
366 Else
367 If BrightPixel(0, 7, Left, YPos, Pivot) Then
368 If BrightPixel(1, 6, Left, YPos, Pivot) Then
369 GetLetter = "I"
370 Else
371 GetLetter = "l"
372 End If
373 Else
374 If BrightPixel(1, 7, Left, YPos, Pivot) Then
375 GetLetter = "1"
376 Else
377 GetLetter = ":"
378 End If
379 End If
380 End If
381 Case 2
382 If BrightPixel(0, 12, Left, YPos, Pivot) Then
383 If BrightPixel(1, 5, Left, YPos, Pivot) Then
384 GetLetter = "J"
385 Else
386 GetLetter = "j"
387 End If
388 Else
389 If BrightPixel(0, 2, Left, YPos, Pivot) Then
390 GetLetter = "1"
391 Else
392 If BrightPixel(1, 0, Left, YPos, Pivot) Then
393 GetLetter = "'"
394 Else
395 If BrightPixel(1, 6, Left, YPos, Pivot) Then
396 GetLetter = "I"
397 Else
398 If BrightPixel(0, 6, Left, YPos, Pivot) Then
399 GetLetter = "i"
400 Else
401 GetLetter = ","
402 End If
403 End If
404 End If
405 End If
406 End If
407 Case 1
408 If BrightPixel(0, 9, Left, YPos, Pivot) Then
409 GetLetter = "i"
410 Else
411 If BrightPixel(0, 2, Left, YPos, Pivot) Then
412 GetLetter = "'"
413 Else
414 GetLetter = "?"
415 End If
416 End If
417 Case Else
418 GetLetter = "?"
419 End Select
On Error GoTo 0
420 Exit Function
GetLetter_Error:
421 Debug.Print "Error " & Err.Number & " (" & Err.Description & _
") on line " & Erl & " in procedure GetLetter of Module OCR_Engine"
End Function