1from chardet.sbcharsetprober import SingleByteCharSetModel
2
3# 3: Positive
4# 2: Likely
5# 1: Unlikely
6# 0: Negative
7
8ARABIC_LANG_MODEL = {
9 34: { # 'ء'
10 34: 0, # 'ء'
11 40: 1, # 'آ'
12 18: 1, # 'أ'
13 41: 0, # 'ؤ'
14 24: 0, # 'إ'
15 32: 0, # 'ئ'
16 1: 2, # 'ا'
17 9: 1, # 'ب'
18 10: 1, # 'ة'
19 8: 1, # 'ت'
20 28: 0, # 'ث'
21 20: 0, # 'ج'
22 19: 0, # 'ح'
23 26: 0, # 'خ'
24 12: 0, # 'د'
25 30: 0, # 'ذ'
26 7: 0, # 'ر'
27 27: 0, # 'ز'
28 13: 0, # 'س'
29 21: 0, # 'ش'
30 23: 0, # 'ص'
31 29: 0, # 'ض'
32 22: 0, # 'ط'
33 38: 0, # 'ظ'
34 11: 1, # 'ع'
35 31: 0, # 'غ'
36 45: 0, # 'ؿ'
37 42: 0, # 'ـ'
38 14: 0, # 'ف'
39 16: 0, # 'ق'
40 17: 1, # 'ك'
41 2: 1, # 'ل'
42 4: 1, # 'م'
43 6: 1, # 'ن'
44 15: 1, # 'ه'
45 5: 1, # 'و'
46 25: 1, # 'ى'
47 3: 1, # 'ي'
48 33: 1, # 'ً'
49 44: 1, # 'ٌ'
50 43: 1, # 'ٍ'
51 35: 1, # 'َ'
52 36: 1, # 'ُ'
53 39: 1, # 'ِ'
54 37: 1, # 'ّ'
55 },
56 40: { # 'آ'
57 34: 1, # 'ء'
58 40: 0, # 'آ'
59 18: 0, # 'أ'
60 41: 0, # 'ؤ'
61 24: 0, # 'إ'
62 32: 1, # 'ئ'
63 1: 1, # 'ا'
64 9: 1, # 'ب'
65 10: 1, # 'ة'
66 8: 1, # 'ت'
67 28: 1, # 'ث'
68 20: 1, # 'ج'
69 19: 1, # 'ح'
70 26: 2, # 'خ'
71 12: 1, # 'د'
72 30: 1, # 'ذ'
73 7: 1, # 'ر'
74 27: 1, # 'ز'
75 13: 2, # 'س'
76 21: 1, # 'ش'
77 23: 1, # 'ص'
78 29: 0, # 'ض'
79 22: 1, # 'ط'
80 38: 0, # 'ظ'
81 11: 1, # 'ع'
82 31: 1, # 'غ'
83 45: 0, # 'ؿ'
84 42: 0, # 'ـ'
85 14: 1, # 'ف'
86 16: 1, # 'ق'
87 17: 1, # 'ك'
88 2: 2, # 'ل'
89 4: 1, # 'م'
90 6: 2, # 'ن'
91 15: 1, # 'ه'
92 5: 1, # 'و'
93 25: 1, # 'ى'
94 3: 1, # 'ي'
95 33: 0, # 'ً'
96 44: 0, # 'ٌ'
97 43: 0, # 'ٍ'
98 35: 1, # 'َ'
99 36: 1, # 'ُ'
100 39: 0, # 'ِ'
101 37: 0, # 'ّ'
102 },
103 18: { # 'أ'
104 34: 1, # 'ء'
105 40: 0, # 'آ'
106 18: 1, # 'أ'
107 41: 1, # 'ؤ'
108 24: 0, # 'إ'
109 32: 1, # 'ئ'
110 1: 1, # 'ا'
111 9: 3, # 'ب'
112 10: 2, # 'ة'
113 8: 2, # 'ت'
114 28: 2, # 'ث'
115 20: 2, # 'ج'
116 19: 3, # 'ح'
117 26: 3, # 'خ'
118 12: 2, # 'د'
119 30: 1, # 'ذ'
120 7: 3, # 'ر'
121 27: 2, # 'ز'
122 13: 3, # 'س'
123 21: 2, # 'ش'
124 23: 3, # 'ص'
125 29: 1, # 'ض'
126 22: 2, # 'ط'
127 38: 1, # 'ظ'
128 11: 3, # 'ع'
129 31: 2, # 'غ'
130 45: 0, # 'ؿ'
131 42: 1, # 'ـ'
132 14: 2, # 'ف'
133 16: 2, # 'ق'
134 17: 3, # 'ك'
135 2: 3, # 'ل'
136 4: 3, # 'م'
137 6: 3, # 'ن'
138 15: 2, # 'ه'
139 5: 3, # 'و'
140 25: 1, # 'ى'
141 3: 3, # 'ي'
142 33: 1, # 'ً'
143 44: 1, # 'ٌ'
144 43: 1, # 'ٍ'
145 35: 2, # 'َ'
146 36: 2, # 'ُ'
147 39: 1, # 'ِ'
148 37: 1, # 'ّ'
149 },
150 41: { # 'ؤ'
151 34: 0, # 'ء'
152 40: 0, # 'آ'
153 18: 0, # 'أ'
154 41: 1, # 'ؤ'
155 24: 0, # 'إ'
156 32: 0, # 'ئ'
157 1: 1, # 'ا'
158 9: 1, # 'ب'
159 10: 1, # 'ة'
160 8: 1, # 'ت'
161 28: 1, # 'ث'
162 20: 1, # 'ج'
163 19: 1, # 'ح'
164 26: 1, # 'خ'
165 12: 1, # 'د'
166 30: 1, # 'ذ'
167 7: 1, # 'ر'
168 27: 1, # 'ز'
169 13: 2, # 'س'
170 21: 1, # 'ش'
171 23: 1, # 'ص'
172 29: 0, # 'ض'
173 22: 1, # 'ط'
174 38: 0, # 'ظ'
175 11: 0, # 'ع'
176 31: 0, # 'غ'
177 45: 0, # 'ؿ'
178 42: 0, # 'ـ'
179 14: 1, # 'ف'
180 16: 1, # 'ق'
181 17: 1, # 'ك'
182 2: 2, # 'ل'
183 4: 1, # 'م'
184 6: 1, # 'ن'
185 15: 1, # 'ه'
186 5: 2, # 'و'
187 25: 1, # 'ى'
188 3: 1, # 'ي'
189 33: 1, # 'ً'
190 44: 1, # 'ٌ'
191 43: 1, # 'ٍ'
192 35: 1, # 'َ'
193 36: 1, # 'ُ'
194 39: 1, # 'ِ'
195 37: 1, # 'ّ'
196 },
197 24: { # 'إ'
198 34: 0, # 'ء'
199 40: 0, # 'آ'
200 18: 0, # 'أ'
201 41: 0, # 'ؤ'
202 24: 1, # 'إ'
203 32: 1, # 'ئ'
204 1: 1, # 'ا'
205 9: 2, # 'ب'
206 10: 0, # 'ة'
207 8: 1, # 'ت'
208 28: 1, # 'ث'
209 20: 2, # 'ج'
210 19: 2, # 'ح'
211 26: 2, # 'خ'
212 12: 2, # 'د'
213 30: 2, # 'ذ'
214 7: 2, # 'ر'
215 27: 1, # 'ز'
216 13: 3, # 'س'
217 21: 2, # 'ش'
218 23: 2, # 'ص'
219 29: 2, # 'ض'
220 22: 2, # 'ط'
221 38: 1, # 'ظ'
222 11: 2, # 'ع'
223 31: 1, # 'غ'
224 45: 0, # 'ؿ'
225 42: 0, # 'ـ'
226 14: 2, # 'ف'
227 16: 2, # 'ق'
228 17: 1, # 'ك'
229 2: 3, # 'ل'
230 4: 2, # 'م'
231 6: 3, # 'ن'
232 15: 1, # 'ه'
233 5: 1, # 'و'
234 25: 1, # 'ى'
235 3: 2, # 'ي'
236 33: 0, # 'ً'
237 44: 0, # 'ٌ'
238 43: 1, # 'ٍ'
239 35: 0, # 'َ'
240 36: 0, # 'ُ'
241 39: 1, # 'ِ'
242 37: 0, # 'ّ'
243 },
244 32: { # 'ئ'
245 34: 0, # 'ء'
246 40: 1, # 'آ'
247 18: 0, # 'أ'
248 41: 0, # 'ؤ'
249 24: 0, # 'إ'
250 32: 0, # 'ئ'
251 1: 2, # 'ا'
252 9: 2, # 'ب'
253 10: 2, # 'ة'
254 8: 1, # 'ت'
255 28: 1, # 'ث'
256 20: 1, # 'ج'
257 19: 1, # 'ح'
258 26: 1, # 'خ'
259 12: 2, # 'د'
260 30: 1, # 'ذ'
261 7: 2, # 'ر'
262 27: 2, # 'ز'
263 13: 1, # 'س'
264 21: 1, # 'ش'
265 23: 1, # 'ص'
266 29: 1, # 'ض'
267 22: 1, # 'ط'
268 38: 1, # 'ظ'
269 11: 1, # 'ع'
270 31: 1, # 'غ'
271 45: 0, # 'ؿ'
272 42: 1, # 'ـ'
273 14: 2, # 'ف'
274 16: 1, # 'ق'
275 17: 1, # 'ك'
276 2: 2, # 'ل'
277 4: 2, # 'م'
278 6: 1, # 'ن'
279 15: 2, # 'ه'
280 5: 1, # 'و'
281 25: 1, # 'ى'
282 3: 3, # 'ي'
283 33: 1, # 'ً'
284 44: 1, # 'ٌ'
285 43: 1, # 'ٍ'
286 35: 1, # 'َ'
287 36: 1, # 'ُ'
288 39: 1, # 'ِ'
289 37: 0, # 'ّ'
290 },
291 1: { # 'ا'
292 34: 3, # 'ء'
293 40: 1, # 'آ'
294 18: 1, # 'أ'
295 41: 1, # 'ؤ'
296 24: 1, # 'إ'
297 32: 3, # 'ئ'
298 1: 1, # 'ا'
299 9: 3, # 'ب'
300 10: 2, # 'ة'
301 8: 3, # 'ت'
302 28: 3, # 'ث'
303 20: 3, # 'ج'
304 19: 3, # 'ح'
305 26: 3, # 'خ'
306 12: 3, # 'د'
307 30: 2, # 'ذ'
308 7: 3, # 'ر'
309 27: 3, # 'ز'
310 13: 3, # 'س'
311 21: 3, # 'ش'
312 23: 3, # 'ص'
313 29: 3, # 'ض'
314 22: 3, # 'ط'
315 38: 2, # 'ظ'
316 11: 3, # 'ع'
317 31: 2, # 'غ'
318 45: 0, # 'ؿ'
319 42: 1, # 'ـ'
320 14: 3, # 'ف'
321 16: 3, # 'ق'
322 17: 3, # 'ك'
323 2: 3, # 'ل'
324 4: 3, # 'م'
325 6: 3, # 'ن'
326 15: 3, # 'ه'
327 5: 3, # 'و'
328 25: 1, # 'ى'
329 3: 3, # 'ي'
330 33: 3, # 'ً'
331 44: 1, # 'ٌ'
332 43: 1, # 'ٍ'
333 35: 1, # 'َ'
334 36: 1, # 'ُ'
335 39: 1, # 'ِ'
336 37: 1, # 'ّ'
337 },
338 9: { # 'ب'
339 34: 1, # 'ء'
340 40: 1, # 'آ'
341 18: 2, # 'أ'
342 41: 1, # 'ؤ'
343 24: 2, # 'إ'
344 32: 1, # 'ئ'
345 1: 3, # 'ا'
346 9: 2, # 'ب'
347 10: 3, # 'ة'
348 8: 3, # 'ت'
349 28: 1, # 'ث'
350 20: 2, # 'ج'
351 19: 3, # 'ح'
352 26: 2, # 'خ'
353 12: 3, # 'د'
354 30: 2, # 'ذ'
355 7: 3, # 'ر'
356 27: 1, # 'ز'
357 13: 2, # 'س'
358 21: 2, # 'ش'
359 23: 2, # 'ص'
360 29: 1, # 'ض'
361 22: 2, # 'ط'
362 38: 1, # 'ظ'
363 11: 3, # 'ع'
364 31: 2, # 'غ'
365 45: 0, # 'ؿ'
366 42: 1, # 'ـ'
367 14: 1, # 'ف'
368 16: 3, # 'ق'
369 17: 2, # 'ك'
370 2: 3, # 'ل'
371 4: 3, # 'م'
372 6: 3, # 'ن'
373 15: 3, # 'ه'
374 5: 3, # 'و'
375 25: 1, # 'ى'
376 3: 3, # 'ي'
377 33: 2, # 'ً'
378 44: 1, # 'ٌ'
379 43: 1, # 'ٍ'
380 35: 2, # 'َ'
381 36: 1, # 'ُ'
382 39: 2, # 'ِ'
383 37: 1, # 'ّ'
384 },
385 10: { # 'ة'
386 34: 0, # 'ء'
387 40: 0, # 'آ'
388 18: 1, # 'أ'
389 41: 0, # 'ؤ'
390 24: 1, # 'إ'
391 32: 0, # 'ئ'
392 1: 1, # 'ا'
393 9: 1, # 'ب'
394 10: 0, # 'ة'
395 8: 1, # 'ت'
396 28: 0, # 'ث'
397 20: 1, # 'ج'
398 19: 1, # 'ح'
399 26: 0, # 'خ'
400 12: 1, # 'د'
401 30: 0, # 'ذ'
402 7: 1, # 'ر'
403 27: 0, # 'ز'
404 13: 1, # 'س'
405 21: 0, # 'ش'
406 23: 0, # 'ص'
407 29: 0, # 'ض'
408 22: 0, # 'ط'
409 38: 0, # 'ظ'
410 11: 1, # 'ع'
411 31: 0, # 'غ'
412 45: 0, # 'ؿ'
413 42: 1, # 'ـ'
414 14: 1, # 'ف'
415 16: 1, # 'ق'
416 17: 1, # 'ك'
417 2: 1, # 'ل'
418 4: 1, # 'م'
419 6: 1, # 'ن'
420 15: 1, # 'ه'
421 5: 1, # 'و'
422 25: 0, # 'ى'
423 3: 1, # 'ي'
424 33: 2, # 'ً'
425 44: 1, # 'ٌ'
426 43: 1, # 'ٍ'
427 35: 1, # 'َ'
428 36: 1, # 'ُ'
429 39: 1, # 'ِ'
430 37: 1, # 'ّ'
431 },
432 8: { # 'ت'
433 34: 0, # 'ء'
434 40: 1, # 'آ'
435 18: 2, # 'أ'
436 41: 1, # 'ؤ'
437 24: 1, # 'إ'
438 32: 1, # 'ئ'
439 1: 3, # 'ا'
440 9: 3, # 'ب'
441 10: 2, # 'ة'
442 8: 3, # 'ت'
443 28: 2, # 'ث'
444 20: 3, # 'ج'
445 19: 3, # 'ح'
446 26: 3, # 'خ'
447 12: 3, # 'د'
448 30: 1, # 'ذ'
449 7: 3, # 'ر'
450 27: 2, # 'ز'
451 13: 3, # 'س'
452 21: 3, # 'ش'
453 23: 3, # 'ص'
454 29: 2, # 'ض'
455 22: 2, # 'ط'
456 38: 2, # 'ظ'
457 11: 3, # 'ع'
458 31: 2, # 'غ'
459 45: 0, # 'ؿ'
460 42: 1, # 'ـ'
461 14: 3, # 'ف'
462 16: 3, # 'ق'
463 17: 3, # 'ك'
464 2: 3, # 'ل'
465 4: 3, # 'م'
466 6: 3, # 'ن'
467 15: 3, # 'ه'
468 5: 3, # 'و'
469 25: 2, # 'ى'
470 3: 3, # 'ي'
471 33: 1, # 'ً'
472 44: 1, # 'ٌ'
473 43: 1, # 'ٍ'
474 35: 2, # 'َ'
475 36: 2, # 'ُ'
476 39: 1, # 'ِ'
477 37: 1, # 'ّ'
478 },
479 28: { # 'ث'
480 34: 0, # 'ء'
481 40: 1, # 'آ'
482 18: 1, # 'أ'
483 41: 1, # 'ؤ'
484 24: 0, # 'إ'
485 32: 0, # 'ئ'
486 1: 3, # 'ا'
487 9: 1, # 'ب'
488 10: 2, # 'ة'
489 8: 1, # 'ت'
490 28: 1, # 'ث'
491 20: 1, # 'ج'
492 19: 0, # 'ح'
493 26: 1, # 'خ'
494 12: 1, # 'د'
495 30: 1, # 'ذ'
496 7: 3, # 'ر'
497 27: 1, # 'ز'
498 13: 1, # 'س'
499 21: 1, # 'ش'
500 23: 0, # 'ص'
501 29: 0, # 'ض'
502 22: 1, # 'ط'
503 38: 0, # 'ظ'
504 11: 1, # 'ع'
505 31: 1, # 'غ'
506 45: 0, # 'ؿ'
507 42: 1, # 'ـ'
508 14: 1, # 'ف'
509 16: 2, # 'ق'
510 17: 1, # 'ك'
511 2: 3, # 'ل'
512 4: 3, # 'م'
513 6: 2, # 'ن'
514 15: 1, # 'ه'
515 5: 2, # 'و'
516 25: 1, # 'ى'
517 3: 3, # 'ي'
518 33: 1, # 'ً'
519 44: 1, # 'ٌ'
520 43: 1, # 'ٍ'
521 35: 1, # 'َ'
522 36: 1, # 'ُ'
523 39: 1, # 'ِ'
524 37: 1, # 'ّ'
525 },
526 20: { # 'ج'
527 34: 0, # 'ء'
528 40: 1, # 'آ'
529 18: 1, # 'أ'
530 41: 1, # 'ؤ'
531 24: 0, # 'إ'
532 32: 1, # 'ئ'
533 1: 3, # 'ا'
534 9: 2, # 'ب'
535 10: 2, # 'ة'
536 8: 2, # 'ت'
537 28: 1, # 'ث'
538 20: 1, # 'ج'
539 19: 1, # 'ح'
540 26: 1, # 'خ'
541 12: 3, # 'د'
542 30: 1, # 'ذ'
543 7: 3, # 'ر'
544 27: 3, # 'ز'
545 13: 2, # 'س'
546 21: 1, # 'ش'
547 23: 1, # 'ص'
548 29: 0, # 'ض'
549 22: 1, # 'ط'
550 38: 0, # 'ظ'
551 11: 2, # 'ع'
552 31: 1, # 'غ'
553 45: 0, # 'ؿ'
554 42: 1, # 'ـ'
555 14: 1, # 'ف'
556 16: 1, # 'ق'
557 17: 1, # 'ك'
558 2: 3, # 'ل'
559 4: 3, # 'م'
560 6: 3, # 'ن'
561 15: 3, # 'ه'
562 5: 3, # 'و'
563 25: 1, # 'ى'
564 3: 3, # 'ي'
565 33: 1, # 'ً'
566 44: 1, # 'ٌ'
567 43: 1, # 'ٍ'
568 35: 1, # 'َ'
569 36: 1, # 'ُ'
570 39: 1, # 'ِ'
571 37: 1, # 'ّ'
572 },
573 19: { # 'ح'
574 34: 0, # 'ء'
575 40: 0, # 'آ'
576 18: 0, # 'أ'
577 41: 1, # 'ؤ'
578 24: 0, # 'إ'
579 32: 0, # 'ئ'
580 1: 3, # 'ا'
581 9: 2, # 'ب'
582 10: 3, # 'ة'
583 8: 3, # 'ت'
584 28: 2, # 'ث'
585 20: 2, # 'ج'
586 19: 1, # 'ح'
587 26: 0, # 'خ'
588 12: 3, # 'د'
589 30: 1, # 'ذ'
590 7: 3, # 'ر'
591 27: 2, # 'ز'
592 13: 2, # 'س'
593 21: 1, # 'ش'
594 23: 2, # 'ص'
595 29: 2, # 'ض'
596 22: 2, # 'ط'
597 38: 2, # 'ظ'
598 11: 1, # 'ع'
599 31: 0, # 'غ'
600 45: 0, # 'ؿ'
601 42: 1, # 'ـ'
602 14: 2, # 'ف'
603 16: 3, # 'ق'
604 17: 3, # 'ك'
605 2: 3, # 'ل'
606 4: 3, # 'م'
607 6: 2, # 'ن'
608 15: 2, # 'ه'
609 5: 3, # 'و'
610 25: 1, # 'ى'
611 3: 3, # 'ي'
612 33: 1, # 'ً'
613 44: 1, # 'ٌ'
614 43: 1, # 'ٍ'
615 35: 1, # 'َ'
616 36: 1, # 'ُ'
617 39: 1, # 'ِ'
618 37: 1, # 'ّ'
619 },
620 26: { # 'خ'
621 34: 0, # 'ء'
622 40: 1, # 'آ'
623 18: 1, # 'أ'
624 41: 1, # 'ؤ'
625 24: 0, # 'إ'
626 32: 0, # 'ئ'
627 1: 3, # 'ا'
628 9: 2, # 'ب'
629 10: 1, # 'ة'
630 8: 3, # 'ت'
631 28: 1, # 'ث'
632 20: 1, # 'ج'
633 19: 0, # 'ح'
634 26: 1, # 'خ'
635 12: 3, # 'د'
636 30: 2, # 'ذ'
637 7: 3, # 'ر'
638 27: 1, # 'ز'
639 13: 1, # 'س'
640 21: 1, # 'ش'
641 23: 2, # 'ص'
642 29: 2, # 'ض'
643 22: 2, # 'ط'
644 38: 1, # 'ظ'
645 11: 1, # 'ع'
646 31: 0, # 'غ'
647 45: 0, # 'ؿ'
648 42: 1, # 'ـ'
649 14: 2, # 'ف'
650 16: 1, # 'ق'
651 17: 1, # 'ك'
652 2: 3, # 'ل'
653 4: 2, # 'م'
654 6: 1, # 'ن'
655 15: 1, # 'ه'
656 5: 2, # 'و'
657 25: 1, # 'ى'
658 3: 3, # 'ي'
659 33: 1, # 'ً'
660 44: 1, # 'ٌ'
661 43: 1, # 'ٍ'
662 35: 1, # 'َ'
663 36: 1, # 'ُ'
664 39: 1, # 'ِ'
665 37: 1, # 'ّ'
666 },
667 12: { # 'د'
668 34: 1, # 'ء'
669 40: 1, # 'آ'
670 18: 2, # 'أ'
671 41: 1, # 'ؤ'
672 24: 1, # 'إ'
673 32: 1, # 'ئ'
674 1: 3, # 'ا'
675 9: 2, # 'ب'
676 10: 3, # 'ة'
677 8: 2, # 'ت'
678 28: 2, # 'ث'
679 20: 1, # 'ج'
680 19: 1, # 'ح'
681 26: 2, # 'خ'
682 12: 3, # 'د'
683 30: 1, # 'ذ'
684 7: 3, # 'ر'
685 27: 1, # 'ز'
686 13: 2, # 'س'
687 21: 1, # 'ش'
688 23: 1, # 'ص'
689 29: 0, # 'ض'
690 22: 0, # 'ط'
691 38: 0, # 'ظ'
692 11: 2, # 'ع'
693 31: 1, # 'غ'
694 45: 0, # 'ؿ'
695 42: 0, # 'ـ'
696 14: 2, # 'ف'
697 16: 2, # 'ق'
698 17: 1, # 'ك'
699 2: 3, # 'ل'
700 4: 3, # 'م'
701 6: 3, # 'ن'
702 15: 3, # 'ه'
703 5: 3, # 'و'
704 25: 2, # 'ى'
705 3: 3, # 'ي'
706 33: 2, # 'ً'
707 44: 1, # 'ٌ'
708 43: 1, # 'ٍ'
709 35: 2, # 'َ'
710 36: 1, # 'ُ'
711 39: 1, # 'ِ'
712 37: 2, # 'ّ'
713 },
714 30: { # 'ذ'
715 34: 0, # 'ء'
716 40: 0, # 'آ'
717 18: 1, # 'أ'
718 41: 1, # 'ؤ'
719 24: 0, # 'إ'
720 32: 1, # 'ئ'
721 1: 3, # 'ا'
722 9: 1, # 'ب'
723 10: 1, # 'ة'
724 8: 1, # 'ت'
725 28: 0, # 'ث'
726 20: 1, # 'ج'
727 19: 1, # 'ح'
728 26: 1, # 'خ'
729 12: 0, # 'د'
730 30: 1, # 'ذ'
731 7: 2, # 'ر'
732 27: 0, # 'ز'
733 13: 1, # 'س'
734 21: 1, # 'ش'
735 23: 0, # 'ص'
736 29: 0, # 'ض'
737 22: 0, # 'ط'
738 38: 0, # 'ظ'
739 11: 1, # 'ع'
740 31: 1, # 'غ'
741 45: 0, # 'ؿ'
742 42: 0, # 'ـ'
743 14: 1, # 'ف'
744 16: 1, # 'ق'
745 17: 2, # 'ك'
746 2: 3, # 'ل'
747 4: 1, # 'م'
748 6: 1, # 'ن'
749 15: 3, # 'ه'
750 5: 2, # 'و'
751 25: 1, # 'ى'
752 3: 3, # 'ي'
753 33: 1, # 'ً'
754 44: 1, # 'ٌ'
755 43: 1, # 'ٍ'
756 35: 1, # 'َ'
757 36: 1, # 'ُ'
758 39: 1, # 'ِ'
759 37: 1, # 'ّ'
760 },
761 7: { # 'ر'
762 34: 1, # 'ء'
763 40: 1, # 'آ'
764 18: 2, # 'أ'
765 41: 1, # 'ؤ'
766 24: 1, # 'إ'
767 32: 3, # 'ئ'
768 1: 3, # 'ا'
769 9: 3, # 'ب'
770 10: 3, # 'ة'
771 8: 3, # 'ت'
772 28: 2, # 'ث'
773 20: 3, # 'ج'
774 19: 2, # 'ح'
775 26: 2, # 'خ'
776 12: 3, # 'د'
777 30: 1, # 'ذ'
778 7: 2, # 'ر'
779 27: 2, # 'ز'
780 13: 3, # 'س'
781 21: 2, # 'ش'
782 23: 2, # 'ص'
783 29: 3, # 'ض'
784 22: 2, # 'ط'
785 38: 1, # 'ظ'
786 11: 2, # 'ع'
787 31: 2, # 'غ'
788 45: 0, # 'ؿ'
789 42: 1, # 'ـ'
790 14: 3, # 'ف'
791 16: 3, # 'ق'
792 17: 3, # 'ك'
793 2: 2, # 'ل'
794 4: 3, # 'م'
795 6: 3, # 'ن'
796 15: 3, # 'ه'
797 5: 3, # 'و'
798 25: 3, # 'ى'
799 3: 3, # 'ي'
800 33: 2, # 'ً'
801 44: 1, # 'ٌ'
802 43: 1, # 'ٍ'
803 35: 2, # 'َ'
804 36: 2, # 'ُ'
805 39: 1, # 'ِ'
806 37: 1, # 'ّ'
807 },
808 27: { # 'ز'
809 34: 2, # 'ء'
810 40: 1, # 'آ'
811 18: 1, # 'أ'
812 41: 1, # 'ؤ'
813 24: 0, # 'إ'
814 32: 1, # 'ئ'
815 1: 3, # 'ا'
816 9: 2, # 'ب'
817 10: 2, # 'ة'
818 8: 1, # 'ت'
819 28: 0, # 'ث'
820 20: 1, # 'ج'
821 19: 1, # 'ح'
822 26: 1, # 'خ'
823 12: 2, # 'د'
824 30: 1, # 'ذ'
825 7: 2, # 'ر'
826 27: 1, # 'ز'
827 13: 1, # 'س'
828 21: 1, # 'ش'
829 23: 0, # 'ص'
830 29: 0, # 'ض'
831 22: 1, # 'ط'
832 38: 0, # 'ظ'
833 11: 2, # 'ع'
834 31: 1, # 'غ'
835 45: 0, # 'ؿ'
836 42: 0, # 'ـ'
837 14: 1, # 'ف'
838 16: 1, # 'ق'
839 17: 1, # 'ك'
840 2: 2, # 'ل'
841 4: 2, # 'م'
842 6: 2, # 'ن'
843 15: 2, # 'ه'
844 5: 2, # 'و'
845 25: 1, # 'ى'
846 3: 3, # 'ي'
847 33: 1, # 'ً'
848 44: 1, # 'ٌ'
849 43: 1, # 'ٍ'
850 35: 1, # 'َ'
851 36: 1, # 'ُ'
852 39: 1, # 'ِ'
853 37: 1, # 'ّ'
854 },
855 13: { # 'س'
856 34: 0, # 'ء'
857 40: 1, # 'آ'
858 18: 1, # 'أ'
859 41: 2, # 'ؤ'
860 24: 0, # 'إ'
861 32: 1, # 'ئ'
862 1: 3, # 'ا'
863 9: 3, # 'ب'
864 10: 3, # 'ة'
865 8: 3, # 'ت'
866 28: 1, # 'ث'
867 20: 2, # 'ج'
868 19: 2, # 'ح'
869 26: 2, # 'خ'
870 12: 2, # 'د'
871 30: 1, # 'ذ'
872 7: 3, # 'ر'
873 27: 1, # 'ز'
874 13: 2, # 'س'
875 21: 1, # 'ش'
876 23: 0, # 'ص'
877 29: 0, # 'ض'
878 22: 3, # 'ط'
879 38: 0, # 'ظ'
880 11: 3, # 'ع'
881 31: 1, # 'غ'
882 45: 0, # 'ؿ'
883 42: 1, # 'ـ'
884 14: 2, # 'ف'
885 16: 2, # 'ق'
886 17: 3, # 'ك'
887 2: 3, # 'ل'
888 4: 3, # 'م'
889 6: 3, # 'ن'
890 15: 2, # 'ه'
891 5: 3, # 'و'
892 25: 1, # 'ى'
893 3: 3, # 'ي'
894 33: 1, # 'ً'
895 44: 1, # 'ٌ'
896 43: 1, # 'ٍ'
897 35: 1, # 'َ'
898 36: 2, # 'ُ'
899 39: 1, # 'ِ'
900 37: 1, # 'ّ'
901 },
902 21: { # 'ش'
903 34: 1, # 'ء'
904 40: 1, # 'آ'
905 18: 2, # 'أ'
906 41: 1, # 'ؤ'
907 24: 0, # 'إ'
908 32: 1, # 'ئ'
909 1: 3, # 'ا'
910 9: 2, # 'ب'
911 10: 1, # 'ة'
912 8: 2, # 'ت'
913 28: 1, # 'ث'
914 20: 2, # 'ج'
915 19: 1, # 'ح'
916 26: 2, # 'خ'
917 12: 2, # 'د'
918 30: 1, # 'ذ'
919 7: 3, # 'ر'
920 27: 1, # 'ز'
921 13: 1, # 'س'
922 21: 1, # 'ش'
923 23: 1, # 'ص'
924 29: 0, # 'ض'
925 22: 1, # 'ط'
926 38: 1, # 'ظ'
927 11: 3, # 'ع'
928 31: 2, # 'غ'
929 45: 0, # 'ؿ'
930 42: 1, # 'ـ'
931 14: 2, # 'ف'
932 16: 2, # 'ق'
933 17: 3, # 'ك'
934 2: 2, # 'ل'
935 4: 3, # 'م'
936 6: 2, # 'ن'
937 15: 2, # 'ه'
938 5: 2, # 'و'
939 25: 1, # 'ى'
940 3: 3, # 'ي'
941 33: 1, # 'ً'
942 44: 1, # 'ٌ'
943 43: 1, # 'ٍ'
944 35: 1, # 'َ'
945 36: 1, # 'ُ'
946 39: 1, # 'ِ'
947 37: 1, # 'ّ'
948 },
949 23: { # 'ص'
950 34: 0, # 'ء'
951 40: 0, # 'آ'
952 18: 0, # 'أ'
953 41: 0, # 'ؤ'
954 24: 0, # 'إ'
955 32: 0, # 'ئ'
956 1: 3, # 'ا'
957 9: 3, # 'ب'
958 10: 2, # 'ة'
959 8: 1, # 'ت'
960 28: 0, # 'ث'
961 20: 1, # 'ج'
962 19: 2, # 'ح'
963 26: 1, # 'خ'
964 12: 2, # 'د'
965 30: 0, # 'ذ'
966 7: 3, # 'ر'
967 27: 1, # 'ز'
968 13: 0, # 'س'
969 21: 0, # 'ش'
970 23: 2, # 'ص'
971 29: 0, # 'ض'
972 22: 2, # 'ط'
973 38: 0, # 'ظ'
974 11: 2, # 'ع'
975 31: 2, # 'غ'
976 45: 0, # 'ؿ'
977 42: 1, # 'ـ'
978 14: 3, # 'ف'
979 16: 1, # 'ق'
980 17: 1, # 'ك'
981 2: 3, # 'ل'
982 4: 2, # 'م'
983 6: 2, # 'ن'
984 15: 1, # 'ه'
985 5: 3, # 'و'
986 25: 1, # 'ى'
987 3: 3, # 'ي'
988 33: 1, # 'ً'
989 44: 1, # 'ٌ'
990 43: 1, # 'ٍ'
991 35: 1, # 'َ'
992 36: 1, # 'ُ'
993 39: 1, # 'ِ'
994 37: 1, # 'ّ'
995 },
996 29: { # 'ض'
997 34: 0, # 'ء'
998 40: 1, # 'آ'
999 18: 1, # 'أ'
1000 41: 0, # 'ؤ'
1001 24: 0, # 'إ'
1002 32: 1, # 'ئ'
1003 1: 3, # 'ا'
1004 9: 2, # 'ب'
1005 10: 2, # 'ة'
1006 8: 2, # 'ت'
1007 28: 0, # 'ث'
1008 20: 1, # 'ج'
1009 19: 2, # 'ح'
1010 26: 1, # 'خ'
1011 12: 2, # 'د'
1012 30: 1, # 'ذ'
1013 7: 2, # 'ر'
1014 27: 0, # 'ز'
1015 13: 0, # 'س'
1016 21: 0, # 'ش'
1017 23: 0, # 'ص'
1018 29: 1, # 'ض'
1019 22: 1, # 'ط'
1020 38: 1, # 'ظ'
1021 11: 2, # 'ع'
1022 31: 1, # 'غ'
1023 45: 0, # 'ؿ'
1024 42: 1, # 'ـ'
1025 14: 1, # 'ف'
1026 16: 1, # 'ق'
1027 17: 1, # 'ك'
1028 2: 2, # 'ل'
1029 4: 2, # 'م'
1030 6: 1, # 'ن'
1031 15: 2, # 'ه'
1032 5: 2, # 'و'
1033 25: 1, # 'ى'
1034 3: 3, # 'ي'
1035 33: 2, # 'ً'
1036 44: 1, # 'ٌ'
1037 43: 1, # 'ٍ'
1038 35: 1, # 'َ'
1039 36: 1, # 'ُ'
1040 39: 1, # 'ِ'
1041 37: 1, # 'ّ'
1042 },
1043 22: { # 'ط'
1044 34: 1, # 'ء'
1045 40: 1, # 'آ'
1046 18: 1, # 'أ'
1047 41: 1, # 'ؤ'
1048 24: 1, # 'إ'
1049 32: 1, # 'ئ'
1050 1: 3, # 'ا'
1051 9: 3, # 'ب'
1052 10: 3, # 'ة'
1053 8: 1, # 'ت'
1054 28: 1, # 'ث'
1055 20: 1, # 'ج'
1056 19: 1, # 'ح'
1057 26: 1, # 'خ'
1058 12: 1, # 'د'
1059 30: 0, # 'ذ'
1060 7: 3, # 'ر'
1061 27: 1, # 'ز'
1062 13: 2, # 'س'
1063 21: 1, # 'ش'
1064 23: 1, # 'ص'
1065 29: 0, # 'ض'
1066 22: 1, # 'ط'
1067 38: 0, # 'ظ'
1068 11: 2, # 'ع'
1069 31: 1, # 'غ'
1070 45: 0, # 'ؿ'
1071 42: 1, # 'ـ'
1072 14: 2, # 'ف'
1073 16: 3, # 'ق'
1074 17: 1, # 'ك'
1075 2: 3, # 'ل'
1076 4: 1, # 'م'
1077 6: 3, # 'ن'
1078 15: 2, # 'ه'
1079 5: 3, # 'و'
1080 25: 1, # 'ى'
1081 3: 3, # 'ي'
1082 33: 1, # 'ً'
1083 44: 1, # 'ٌ'
1084 43: 1, # 'ٍ'
1085 35: 1, # 'َ'
1086 36: 1, # 'ُ'
1087 39: 1, # 'ِ'
1088 37: 1, # 'ّ'
1089 },
1090 38: { # 'ظ'
1091 34: 0, # 'ء'
1092 40: 0, # 'آ'
1093 18: 0, # 'أ'
1094 41: 0, # 'ؤ'
1095 24: 0, # 'إ'
1096 32: 1, # 'ئ'
1097 1: 2, # 'ا'
1098 9: 1, # 'ب'
1099 10: 2, # 'ة'
1100 8: 1, # 'ت'
1101 28: 0, # 'ث'
1102 20: 0, # 'ج'
1103 19: 1, # 'ح'
1104 26: 0, # 'خ'
1105 12: 0, # 'د'
1106 30: 0, # 'ذ'
1107 7: 2, # 'ر'
1108 27: 0, # 'ز'
1109 13: 0, # 'س'
1110 21: 0, # 'ش'
1111 23: 0, # 'ص'
1112 29: 0, # 'ض'
1113 22: 0, # 'ط'
1114 38: 0, # 'ظ'
1115 11: 1, # 'ع'
1116 31: 1, # 'غ'
1117 45: 0, # 'ؿ'
1118 42: 1, # 'ـ'
1119 14: 1, # 'ف'
1120 16: 1, # 'ق'
1121 17: 1, # 'ك'
1122 2: 2, # 'ل'
1123 4: 2, # 'م'
1124 6: 1, # 'ن'
1125 15: 2, # 'ه'
1126 5: 1, # 'و'
1127 25: 1, # 'ى'
1128 3: 2, # 'ي'
1129 33: 1, # 'ً'
1130 44: 1, # 'ٌ'
1131 43: 1, # 'ٍ'
1132 35: 1, # 'َ'
1133 36: 1, # 'ُ'
1134 39: 1, # 'ِ'
1135 37: 1, # 'ّ'
1136 },
1137 11: { # 'ع'
1138 34: 0, # 'ء'
1139 40: 0, # 'آ'
1140 18: 1, # 'أ'
1141 41: 0, # 'ؤ'
1142 24: 0, # 'إ'
1143 32: 1, # 'ئ'
1144 1: 3, # 'ا'
1145 9: 3, # 'ب'
1146 10: 3, # 'ة'
1147 8: 3, # 'ت'
1148 28: 2, # 'ث'
1149 20: 2, # 'ج'
1150 19: 1, # 'ح'
1151 26: 1, # 'خ'
1152 12: 3, # 'د'
1153 30: 1, # 'ذ'
1154 7: 3, # 'ر'
1155 27: 2, # 'ز'
1156 13: 2, # 'س'
1157 21: 2, # 'ش'
1158 23: 2, # 'ص'
1159 29: 3, # 'ض'
1160 22: 2, # 'ط'
1161 38: 2, # 'ظ'
1162 11: 1, # 'ع'
1163 31: 0, # 'غ'
1164 45: 0, # 'ؿ'
1165 42: 1, # 'ـ'
1166 14: 2, # 'ف'
1167 16: 2, # 'ق'
1168 17: 1, # 'ك'
1169 2: 3, # 'ل'
1170 4: 3, # 'م'
1171 6: 3, # 'ن'
1172 15: 3, # 'ه'
1173 5: 3, # 'و'
1174 25: 1, # 'ى'
1175 3: 3, # 'ي'
1176 33: 1, # 'ً'
1177 44: 1, # 'ٌ'
1178 43: 1, # 'ٍ'
1179 35: 2, # 'َ'
1180 36: 2, # 'ُ'
1181 39: 1, # 'ِ'
1182 37: 1, # 'ّ'
1183 },
1184 31: { # 'غ'
1185 34: 0, # 'ء'
1186 40: 1, # 'آ'
1187 18: 1, # 'أ'
1188 41: 0, # 'ؤ'
1189 24: 0, # 'إ'
1190 32: 1, # 'ئ'
1191 1: 3, # 'ا'
1192 9: 1, # 'ب'
1193 10: 2, # 'ة'
1194 8: 2, # 'ت'
1195 28: 1, # 'ث'
1196 20: 1, # 'ج'
1197 19: 0, # 'ح'
1198 26: 0, # 'خ'
1199 12: 2, # 'د'
1200 30: 1, # 'ذ'
1201 7: 3, # 'ر'
1202 27: 2, # 'ز'
1203 13: 2, # 'س'
1204 21: 1, # 'ش'
1205 23: 1, # 'ص'
1206 29: 1, # 'ض'
1207 22: 2, # 'ط'
1208 38: 1, # 'ظ'
1209 11: 1, # 'ع'
1210 31: 1, # 'غ'
1211 45: 0, # 'ؿ'
1212 42: 1, # 'ـ'
1213 14: 1, # 'ف'
1214 16: 1, # 'ق'
1215 17: 1, # 'ك'
1216 2: 2, # 'ل'
1217 4: 2, # 'م'
1218 6: 2, # 'ن'
1219 15: 1, # 'ه'
1220 5: 2, # 'و'
1221 25: 1, # 'ى'
1222 3: 3, # 'ي'
1223 33: 1, # 'ً'
1224 44: 1, # 'ٌ'
1225 43: 1, # 'ٍ'
1226 35: 1, # 'َ'
1227 36: 1, # 'ُ'
1228 39: 1, # 'ِ'
1229 37: 1, # 'ّ'
1230 },
1231 42: { # 'ـ'
1232 34: 0, # 'ء'
1233 40: 1, # 'آ'
1234 18: 1, # 'أ'
1235 41: 1, # 'ؤ'
1236 24: 1, # 'إ'
1237 32: 1, # 'ئ'
1238 1: 1, # 'ا'
1239 9: 1, # 'ب'
1240 10: 1, # 'ة'
1241 8: 1, # 'ت'
1242 28: 1, # 'ث'
1243 20: 1, # 'ج'
1244 19: 1, # 'ح'
1245 26: 1, # 'خ'
1246 12: 1, # 'د'
1247 30: 1, # 'ذ'
1248 7: 1, # 'ر'
1249 27: 1, # 'ز'
1250 13: 1, # 'س'
1251 21: 1, # 'ش'
1252 23: 1, # 'ص'
1253 29: 1, # 'ض'
1254 22: 1, # 'ط'
1255 38: 1, # 'ظ'
1256 11: 1, # 'ع'
1257 31: 1, # 'غ'
1258 45: 0, # 'ؿ'
1259 42: 1, # 'ـ'
1260 14: 1, # 'ف'
1261 16: 1, # 'ق'
1262 17: 1, # 'ك'
1263 2: 1, # 'ل'
1264 4: 1, # 'م'
1265 6: 1, # 'ن'
1266 15: 1, # 'ه'
1267 5: 1, # 'و'
1268 25: 1, # 'ى'
1269 3: 1, # 'ي'
1270 33: 1, # 'ً'
1271 44: 1, # 'ٌ'
1272 43: 0, # 'ٍ'
1273 35: 1, # 'َ'
1274 36: 1, # 'ُ'
1275 39: 1, # 'ِ'
1276 37: 1, # 'ّ'
1277 },
1278 14: { # 'ف'
1279 34: 1, # 'ء'
1280 40: 1, # 'آ'
1281 18: 2, # 'أ'
1282 41: 1, # 'ؤ'
1283 24: 2, # 'إ'
1284 32: 1, # 'ئ'
1285 1: 3, # 'ا'
1286 9: 2, # 'ب'
1287 10: 3, # 'ة'
1288 8: 3, # 'ت'
1289 28: 1, # 'ث'
1290 20: 2, # 'ج'
1291 19: 2, # 'ح'
1292 26: 1, # 'خ'
1293 12: 2, # 'د'
1294 30: 1, # 'ذ'
1295 7: 3, # 'ر'
1296 27: 1, # 'ز'
1297 13: 2, # 'س'
1298 21: 1, # 'ش'
1299 23: 2, # 'ص'
1300 29: 2, # 'ض'
1301 22: 2, # 'ط'
1302 38: 2, # 'ظ'
1303 11: 3, # 'ع'
1304 31: 1, # 'غ'
1305 45: 0, # 'ؿ'
1306 42: 1, # 'ـ'
1307 14: 1, # 'ف'
1308 16: 3, # 'ق'
1309 17: 2, # 'ك'
1310 2: 3, # 'ل'
1311 4: 2, # 'م'
1312 6: 2, # 'ن'
1313 15: 2, # 'ه'
1314 5: 3, # 'و'
1315 25: 2, # 'ى'
1316 3: 3, # 'ي'
1317 33: 1, # 'ً'
1318 44: 1, # 'ٌ'
1319 43: 1, # 'ٍ'
1320 35: 2, # 'َ'
1321 36: 1, # 'ُ'
1322 39: 1, # 'ِ'
1323 37: 1, # 'ّ'
1324 },
1325 16: { # 'ق'
1326 34: 0, # 'ء'
1327 40: 1, # 'آ'
1328 18: 1, # 'أ'
1329 41: 0, # 'ؤ'
1330 24: 0, # 'إ'
1331 32: 1, # 'ئ'
1332 1: 3, # 'ا'
1333 9: 3, # 'ب'
1334 10: 3, # 'ة'
1335 8: 3, # 'ت'
1336 28: 1, # 'ث'
1337 20: 1, # 'ج'
1338 19: 1, # 'ح'
1339 26: 0, # 'خ'
1340 12: 3, # 'د'
1341 30: 1, # 'ذ'
1342 7: 3, # 'ر'
1343 27: 1, # 'ز'
1344 13: 2, # 'س'
1345 21: 1, # 'ش'
1346 23: 2, # 'ص'
1347 29: 2, # 'ض'
1348 22: 3, # 'ط'
1349 38: 1, # 'ظ'
1350 11: 3, # 'ع'
1351 31: 1, # 'غ'
1352 45: 0, # 'ؿ'
1353 42: 1, # 'ـ'
1354 14: 2, # 'ف'
1355 16: 1, # 'ق'
1356 17: 1, # 'ك'
1357 2: 3, # 'ل'
1358 4: 2, # 'م'
1359 6: 2, # 'ن'
1360 15: 2, # 'ه'
1361 5: 3, # 'و'
1362 25: 2, # 'ى'
1363 3: 3, # 'ي'
1364 33: 2, # 'ً'
1365 44: 1, # 'ٌ'
1366 43: 1, # 'ٍ'
1367 35: 2, # 'َ'
1368 36: 2, # 'ُ'
1369 39: 1, # 'ِ'
1370 37: 1, # 'ّ'
1371 },
1372 17: { # 'ك'
1373 34: 0, # 'ء'
1374 40: 1, # 'آ'
1375 18: 1, # 'أ'
1376 41: 1, # 'ؤ'
1377 24: 1, # 'إ'
1378 32: 1, # 'ئ'
1379 1: 3, # 'ا'
1380 9: 3, # 'ب'
1381 10: 3, # 'ة'
1382 8: 3, # 'ت'
1383 28: 3, # 'ث'
1384 20: 1, # 'ج'
1385 19: 1, # 'ح'
1386 26: 1, # 'خ'
1387 12: 2, # 'د'
1388 30: 2, # 'ذ'
1389 7: 3, # 'ر'
1390 27: 2, # 'ز'
1391 13: 2, # 'س'
1392 21: 2, # 'ش'
1393 23: 1, # 'ص'
1394 29: 1, # 'ض'
1395 22: 1, # 'ط'
1396 38: 1, # 'ظ'
1397 11: 1, # 'ع'
1398 31: 1, # 'غ'
1399 45: 0, # 'ؿ'
1400 42: 1, # 'ـ'
1401 14: 2, # 'ف'
1402 16: 1, # 'ق'
1403 17: 1, # 'ك'
1404 2: 3, # 'ل'
1405 4: 3, # 'م'
1406 6: 3, # 'ن'
1407 15: 2, # 'ه'
1408 5: 3, # 'و'
1409 25: 1, # 'ى'
1410 3: 3, # 'ي'
1411 33: 1, # 'ً'
1412 44: 1, # 'ٌ'
1413 43: 1, # 'ٍ'
1414 35: 2, # 'َ'
1415 36: 1, # 'ُ'
1416 39: 1, # 'ِ'
1417 37: 1, # 'ّ'
1418 },
1419 2: { # 'ل'
1420 34: 1, # 'ء'
1421 40: 2, # 'آ'
1422 18: 3, # 'أ'
1423 41: 1, # 'ؤ'
1424 24: 3, # 'إ'
1425 32: 1, # 'ئ'
1426 1: 3, # 'ا'
1427 9: 3, # 'ب'
1428 10: 3, # 'ة'
1429 8: 3, # 'ت'
1430 28: 3, # 'ث'
1431 20: 3, # 'ج'
1432 19: 3, # 'ح'
1433 26: 3, # 'خ'
1434 12: 3, # 'د'
1435 30: 3, # 'ذ'
1436 7: 3, # 'ر'
1437 27: 3, # 'ز'
1438 13: 3, # 'س'
1439 21: 3, # 'ش'
1440 23: 3, # 'ص'
1441 29: 2, # 'ض'
1442 22: 3, # 'ط'
1443 38: 2, # 'ظ'
1444 11: 3, # 'ع'
1445 31: 3, # 'غ'
1446 45: 0, # 'ؿ'
1447 42: 1, # 'ـ'
1448 14: 3, # 'ف'
1449 16: 3, # 'ق'
1450 17: 3, # 'ك'
1451 2: 3, # 'ل'
1452 4: 3, # 'م'
1453 6: 3, # 'ن'
1454 15: 3, # 'ه'
1455 5: 3, # 'و'
1456 25: 3, # 'ى'
1457 3: 3, # 'ي'
1458 33: 2, # 'ً'
1459 44: 1, # 'ٌ'
1460 43: 1, # 'ٍ'
1461 35: 2, # 'َ'
1462 36: 1, # 'ُ'
1463 39: 2, # 'ِ'
1464 37: 2, # 'ّ'
1465 },
1466 4: { # 'م'
1467 34: 0, # 'ء'
1468 40: 1, # 'آ'
1469 18: 1, # 'أ'
1470 41: 3, # 'ؤ'
1471 24: 1, # 'إ'
1472 32: 1, # 'ئ'
1473 1: 3, # 'ا'
1474 9: 3, # 'ب'
1475 10: 3, # 'ة'
1476 8: 3, # 'ت'
1477 28: 3, # 'ث'
1478 20: 3, # 'ج'
1479 19: 3, # 'ح'
1480 26: 2, # 'خ'
1481 12: 3, # 'د'
1482 30: 2, # 'ذ'
1483 7: 3, # 'ر'
1484 27: 2, # 'ز'
1485 13: 3, # 'س'
1486 21: 3, # 'ش'
1487 23: 3, # 'ص'
1488 29: 2, # 'ض'
1489 22: 2, # 'ط'
1490 38: 1, # 'ظ'
1491 11: 3, # 'ع'
1492 31: 2, # 'غ'
1493 45: 0, # 'ؿ'
1494 42: 1, # 'ـ'
1495 14: 2, # 'ف'
1496 16: 3, # 'ق'
1497 17: 3, # 'ك'
1498 2: 3, # 'ل'
1499 4: 3, # 'م'
1500 6: 3, # 'ن'
1501 15: 3, # 'ه'
1502 5: 3, # 'و'
1503 25: 2, # 'ى'
1504 3: 3, # 'ي'
1505 33: 2, # 'ً'
1506 44: 1, # 'ٌ'
1507 43: 1, # 'ٍ'
1508 35: 2, # 'َ'
1509 36: 2, # 'ُ'
1510 39: 2, # 'ِ'
1511 37: 2, # 'ّ'
1512 },
1513 6: { # 'ن'
1514 34: 0, # 'ء'
1515 40: 1, # 'آ'
1516 18: 1, # 'أ'
1517 41: 1, # 'ؤ'
1518 24: 1, # 'إ'
1519 32: 1, # 'ئ'
1520 1: 3, # 'ا'
1521 9: 3, # 'ب'
1522 10: 3, # 'ة'
1523 8: 3, # 'ت'
1524 28: 1, # 'ث'
1525 20: 3, # 'ج'
1526 19: 2, # 'ح'
1527 26: 2, # 'خ'
1528 12: 3, # 'د'
1529 30: 2, # 'ذ'
1530 7: 2, # 'ر'
1531 27: 2, # 'ز'
1532 13: 3, # 'س'
1533 21: 3, # 'ش'
1534 23: 2, # 'ص'
1535 29: 2, # 'ض'
1536 22: 3, # 'ط'
1537 38: 3, # 'ظ'
1538 11: 2, # 'ع'
1539 31: 2, # 'غ'
1540 45: 0, # 'ؿ'
1541 42: 1, # 'ـ'
1542 14: 3, # 'ف'
1543 16: 3, # 'ق'
1544 17: 2, # 'ك'
1545 2: 1, # 'ل'
1546 4: 2, # 'م'
1547 6: 1, # 'ن'
1548 15: 3, # 'ه'
1549 5: 3, # 'و'
1550 25: 2, # 'ى'
1551 3: 3, # 'ي'
1552 33: 1, # 'ً'
1553 44: 1, # 'ٌ'
1554 43: 1, # 'ٍ'
1555 35: 2, # 'َ'
1556 36: 1, # 'ُ'
1557 39: 1, # 'ِ'
1558 37: 2, # 'ّ'
1559 },
1560 15: { # 'ه'
1561 34: 0, # 'ء'
1562 40: 1, # 'آ'
1563 18: 1, # 'أ'
1564 41: 1, # 'ؤ'
1565 24: 0, # 'إ'
1566 32: 1, # 'ئ'
1567 1: 3, # 'ا'
1568 9: 2, # 'ب'
1569 10: 2, # 'ة'
1570 8: 2, # 'ت'
1571 28: 1, # 'ث'
1572 20: 2, # 'ج'
1573 19: 1, # 'ح'
1574 26: 1, # 'خ'
1575 12: 3, # 'د'
1576 30: 3, # 'ذ'
1577 7: 3, # 'ر'
1578 27: 2, # 'ز'
1579 13: 1, # 'س'
1580 21: 1, # 'ش'
1581 23: 1, # 'ص'
1582 29: 1, # 'ض'
1583 22: 1, # 'ط'
1584 38: 1, # 'ظ'
1585 11: 1, # 'ع'
1586 31: 1, # 'غ'
1587 45: 0, # 'ؿ'
1588 42: 2, # 'ـ'
1589 14: 1, # 'ف'
1590 16: 1, # 'ق'
1591 17: 1, # 'ك'
1592 2: 2, # 'ل'
1593 4: 3, # 'م'
1594 6: 3, # 'ن'
1595 15: 1, # 'ه'
1596 5: 3, # 'و'
1597 25: 1, # 'ى'
1598 3: 3, # 'ي'
1599 33: 1, # 'ً'
1600 44: 1, # 'ٌ'
1601 43: 1, # 'ٍ'
1602 35: 1, # 'َ'
1603 36: 2, # 'ُ'
1604 39: 1, # 'ِ'
1605 37: 1, # 'ّ'
1606 },
1607 5: { # 'و'
1608 34: 1, # 'ء'
1609 40: 1, # 'آ'
1610 18: 3, # 'أ'
1611 41: 1, # 'ؤ'
1612 24: 2, # 'إ'
1613 32: 1, # 'ئ'
1614 1: 3, # 'ا'
1615 9: 3, # 'ب'
1616 10: 2, # 'ة'
1617 8: 3, # 'ت'
1618 28: 2, # 'ث'
1619 20: 3, # 'ج'
1620 19: 3, # 'ح'
1621 26: 2, # 'خ'
1622 12: 3, # 'د'
1623 30: 2, # 'ذ'
1624 7: 3, # 'ر'
1625 27: 3, # 'ز'
1626 13: 3, # 'س'
1627 21: 2, # 'ش'
1628 23: 3, # 'ص'
1629 29: 2, # 'ض'
1630 22: 3, # 'ط'
1631 38: 2, # 'ظ'
1632 11: 3, # 'ع'
1633 31: 2, # 'غ'
1634 45: 0, # 'ؿ'
1635 42: 1, # 'ـ'
1636 14: 3, # 'ف'
1637 16: 3, # 'ق'
1638 17: 3, # 'ك'
1639 2: 3, # 'ل'
1640 4: 3, # 'م'
1641 6: 3, # 'ن'
1642 15: 3, # 'ه'
1643 5: 2, # 'و'
1644 25: 2, # 'ى'
1645 3: 3, # 'ي'
1646 33: 1, # 'ً'
1647 44: 1, # 'ٌ'
1648 43: 1, # 'ٍ'
1649 35: 2, # 'َ'
1650 36: 1, # 'ُ'
1651 39: 1, # 'ِ'
1652 37: 1, # 'ّ'
1653 },
1654 25: { # 'ى'
1655 34: 1, # 'ء'
1656 40: 0, # 'آ'
1657 18: 0, # 'أ'
1658 41: 0, # 'ؤ'
1659 24: 0, # 'إ'
1660 32: 0, # 'ئ'
1661 1: 1, # 'ا'
1662 9: 1, # 'ب'
1663 10: 0, # 'ة'
1664 8: 0, # 'ت'
1665 28: 0, # 'ث'
1666 20: 0, # 'ج'
1667 19: 0, # 'ح'
1668 26: 0, # 'خ'
1669 12: 0, # 'د'
1670 30: 0, # 'ذ'
1671 7: 0, # 'ر'
1672 27: 0, # 'ز'
1673 13: 0, # 'س'
1674 21: 0, # 'ش'
1675 23: 0, # 'ص'
1676 29: 0, # 'ض'
1677 22: 0, # 'ط'
1678 38: 0, # 'ظ'
1679 11: 0, # 'ع'
1680 31: 0, # 'غ'
1681 45: 0, # 'ؿ'
1682 42: 1, # 'ـ'
1683 14: 0, # 'ف'
1684 16: 0, # 'ق'
1685 17: 1, # 'ك'
1686 2: 1, # 'ل'
1687 4: 0, # 'م'
1688 6: 0, # 'ن'
1689 15: 0, # 'ه'
1690 5: 0, # 'و'
1691 25: 0, # 'ى'
1692 3: 1, # 'ي'
1693 33: 1, # 'ً'
1694 44: 0, # 'ٌ'
1695 43: 0, # 'ٍ'
1696 35: 1, # 'َ'
1697 36: 1, # 'ُ'
1698 39: 1, # 'ِ'
1699 37: 1, # 'ّ'
1700 },
1701 3: { # 'ي'
1702 34: 1, # 'ء'
1703 40: 1, # 'آ'
1704 18: 1, # 'أ'
1705 41: 1, # 'ؤ'
1706 24: 1, # 'إ'
1707 32: 2, # 'ئ'
1708 1: 3, # 'ا'
1709 9: 3, # 'ب'
1710 10: 3, # 'ة'
1711 8: 3, # 'ت'
1712 28: 3, # 'ث'
1713 20: 3, # 'ج'
1714 19: 3, # 'ح'
1715 26: 3, # 'خ'
1716 12: 3, # 'د'
1717 30: 2, # 'ذ'
1718 7: 3, # 'ر'
1719 27: 3, # 'ز'
1720 13: 3, # 'س'
1721 21: 3, # 'ش'
1722 23: 2, # 'ص'
1723 29: 3, # 'ض'
1724 22: 3, # 'ط'
1725 38: 1, # 'ظ'
1726 11: 3, # 'ع'
1727 31: 2, # 'غ'
1728 45: 0, # 'ؿ'
1729 42: 1, # 'ـ'
1730 14: 3, # 'ف'
1731 16: 3, # 'ق'
1732 17: 3, # 'ك'
1733 2: 3, # 'ل'
1734 4: 3, # 'م'
1735 6: 3, # 'ن'
1736 15: 3, # 'ه'
1737 5: 3, # 'و'
1738 25: 1, # 'ى'
1739 3: 3, # 'ي'
1740 33: 2, # 'ً'
1741 44: 1, # 'ٌ'
1742 43: 1, # 'ٍ'
1743 35: 2, # 'َ'
1744 36: 2, # 'ُ'
1745 39: 1, # 'ِ'
1746 37: 2, # 'ّ'
1747 },
1748 33: { # 'ً'
1749 34: 1, # 'ء'
1750 40: 0, # 'آ'
1751 18: 1, # 'أ'
1752 41: 0, # 'ؤ'
1753 24: 0, # 'إ'
1754 32: 0, # 'ئ'
1755 1: 3, # 'ا'
1756 9: 1, # 'ب'
1757 10: 1, # 'ة'
1758 8: 1, # 'ت'
1759 28: 0, # 'ث'
1760 20: 0, # 'ج'
1761 19: 1, # 'ح'
1762 26: 1, # 'خ'
1763 12: 1, # 'د'
1764 30: 0, # 'ذ'
1765 7: 1, # 'ر'
1766 27: 0, # 'ز'
1767 13: 1, # 'س'
1768 21: 1, # 'ش'
1769 23: 1, # 'ص'
1770 29: 1, # 'ض'
1771 22: 0, # 'ط'
1772 38: 0, # 'ظ'
1773 11: 1, # 'ع'
1774 31: 0, # 'غ'
1775 45: 0, # 'ؿ'
1776 42: 1, # 'ـ'
1777 14: 1, # 'ف'
1778 16: 1, # 'ق'
1779 17: 1, # 'ك'
1780 2: 1, # 'ل'
1781 4: 1, # 'م'
1782 6: 1, # 'ن'
1783 15: 1, # 'ه'
1784 5: 1, # 'و'
1785 25: 1, # 'ى'
1786 3: 1, # 'ي'
1787 33: 1, # 'ً'
1788 44: 0, # 'ٌ'
1789 43: 0, # 'ٍ'
1790 35: 1, # 'َ'
1791 36: 1, # 'ُ'
1792 39: 0, # 'ِ'
1793 37: 1, # 'ّ'
1794 },
1795 44: { # 'ٌ'
1796 34: 0, # 'ء'
1797 40: 0, # 'آ'
1798 18: 0, # 'أ'
1799 41: 0, # 'ؤ'
1800 24: 0, # 'إ'
1801 32: 0, # 'ئ'
1802 1: 1, # 'ا'
1803 9: 1, # 'ب'
1804 10: 0, # 'ة'
1805 8: 1, # 'ت'
1806 28: 0, # 'ث'
1807 20: 1, # 'ج'
1808 19: 1, # 'ح'
1809 26: 1, # 'خ'
1810 12: 1, # 'د'
1811 30: 0, # 'ذ'
1812 7: 1, # 'ر'
1813 27: 0, # 'ز'
1814 13: 1, # 'س'
1815 21: 1, # 'ش'
1816 23: 1, # 'ص'
1817 29: 1, # 'ض'
1818 22: 1, # 'ط'
1819 38: 1, # 'ظ'
1820 11: 1, # 'ع'
1821 31: 1, # 'غ'
1822 45: 0, # 'ؿ'
1823 42: 0, # 'ـ'
1824 14: 1, # 'ف'
1825 16: 1, # 'ق'
1826 17: 1, # 'ك'
1827 2: 1, # 'ل'
1828 4: 1, # 'م'
1829 6: 1, # 'ن'
1830 15: 1, # 'ه'
1831 5: 1, # 'و'
1832 25: 1, # 'ى'
1833 3: 1, # 'ي'
1834 33: 0, # 'ً'
1835 44: 0, # 'ٌ'
1836 43: 0, # 'ٍ'
1837 35: 1, # 'َ'
1838 36: 1, # 'ُ'
1839 39: 0, # 'ِ'
1840 37: 1, # 'ّ'
1841 },
1842 43: { # 'ٍ'
1843 34: 0, # 'ء'
1844 40: 0, # 'آ'
1845 18: 0, # 'أ'
1846 41: 0, # 'ؤ'
1847 24: 1, # 'إ'
1848 32: 0, # 'ئ'
1849 1: 1, # 'ا'
1850 9: 1, # 'ب'
1851 10: 1, # 'ة'
1852 8: 1, # 'ت'
1853 28: 0, # 'ث'
1854 20: 1, # 'ج'
1855 19: 0, # 'ح'
1856 26: 0, # 'خ'
1857 12: 1, # 'د'
1858 30: 0, # 'ذ'
1859 7: 1, # 'ر'
1860 27: 0, # 'ز'
1861 13: 1, # 'س'
1862 21: 0, # 'ش'
1863 23: 0, # 'ص'
1864 29: 0, # 'ض'
1865 22: 0, # 'ط'
1866 38: 0, # 'ظ'
1867 11: 1, # 'ع'
1868 31: 0, # 'غ'
1869 45: 0, # 'ؿ'
1870 42: 0, # 'ـ'
1871 14: 1, # 'ف'
1872 16: 1, # 'ق'
1873 17: 1, # 'ك'
1874 2: 1, # 'ل'
1875 4: 1, # 'م'
1876 6: 1, # 'ن'
1877 15: 0, # 'ه'
1878 5: 1, # 'و'
1879 25: 0, # 'ى'
1880 3: 1, # 'ي'
1881 33: 0, # 'ً'
1882 44: 0, # 'ٌ'
1883 43: 1, # 'ٍ'
1884 35: 0, # 'َ'
1885 36: 0, # 'ُ'
1886 39: 1, # 'ِ'
1887 37: 1, # 'ّ'
1888 },
1889 35: { # 'َ'
1890 34: 1, # 'ء'
1891 40: 1, # 'آ'
1892 18: 1, # 'أ'
1893 41: 1, # 'ؤ'
1894 24: 1, # 'إ'
1895 32: 1, # 'ئ'
1896 1: 2, # 'ا'
1897 9: 1, # 'ب'
1898 10: 1, # 'ة'
1899 8: 1, # 'ت'
1900 28: 1, # 'ث'
1901 20: 1, # 'ج'
1902 19: 1, # 'ح'
1903 26: 1, # 'خ'
1904 12: 1, # 'د'
1905 30: 1, # 'ذ'
1906 7: 2, # 'ر'
1907 27: 1, # 'ز'
1908 13: 1, # 'س'
1909 21: 1, # 'ش'
1910 23: 1, # 'ص'
1911 29: 1, # 'ض'
1912 22: 1, # 'ط'
1913 38: 1, # 'ظ'
1914 11: 1, # 'ع'
1915 31: 1, # 'غ'
1916 45: 0, # 'ؿ'
1917 42: 1, # 'ـ'
1918 14: 1, # 'ف'
1919 16: 1, # 'ق'
1920 17: 1, # 'ك'
1921 2: 2, # 'ل'
1922 4: 2, # 'م'
1923 6: 2, # 'ن'
1924 15: 1, # 'ه'
1925 5: 1, # 'و'
1926 25: 1, # 'ى'
1927 3: 2, # 'ي'
1928 33: 0, # 'ً'
1929 44: 0, # 'ٌ'
1930 43: 0, # 'ٍ'
1931 35: 1, # 'َ'
1932 36: 1, # 'ُ'
1933 39: 1, # 'ِ'
1934 37: 3, # 'ّ'
1935 },
1936 36: { # 'ُ'
1937 34: 1, # 'ء'
1938 40: 0, # 'آ'
1939 18: 1, # 'أ'
1940 41: 1, # 'ؤ'
1941 24: 0, # 'إ'
1942 32: 1, # 'ئ'
1943 1: 1, # 'ا'
1944 9: 1, # 'ب'
1945 10: 1, # 'ة'
1946 8: 2, # 'ت'
1947 28: 1, # 'ث'
1948 20: 1, # 'ج'
1949 19: 1, # 'ح'
1950 26: 1, # 'خ'
1951 12: 1, # 'د'
1952 30: 1, # 'ذ'
1953 7: 2, # 'ر'
1954 27: 1, # 'ز'
1955 13: 2, # 'س'
1956 21: 1, # 'ش'
1957 23: 1, # 'ص'
1958 29: 1, # 'ض'
1959 22: 1, # 'ط'
1960 38: 1, # 'ظ'
1961 11: 2, # 'ع'
1962 31: 1, # 'غ'
1963 45: 0, # 'ؿ'
1964 42: 1, # 'ـ'
1965 14: 1, # 'ف'
1966 16: 2, # 'ق'
1967 17: 1, # 'ك'
1968 2: 2, # 'ل'
1969 4: 2, # 'م'
1970 6: 2, # 'ن'
1971 15: 1, # 'ه'
1972 5: 2, # 'و'
1973 25: 1, # 'ى'
1974 3: 1, # 'ي'
1975 33: 0, # 'ً'
1976 44: 0, # 'ٌ'
1977 43: 0, # 'ٍ'
1978 35: 0, # 'َ'
1979 36: 1, # 'ُ'
1980 39: 1, # 'ِ'
1981 37: 2, # 'ّ'
1982 },
1983 39: { # 'ِ'
1984 34: 0, # 'ء'
1985 40: 1, # 'آ'
1986 18: 1, # 'أ'
1987 41: 1, # 'ؤ'
1988 24: 1, # 'إ'
1989 32: 1, # 'ئ'
1990 1: 1, # 'ا'
1991 9: 1, # 'ب'
1992 10: 1, # 'ة'
1993 8: 1, # 'ت'
1994 28: 1, # 'ث'
1995 20: 1, # 'ج'
1996 19: 1, # 'ح'
1997 26: 1, # 'خ'
1998 12: 1, # 'د'
1999 30: 1, # 'ذ'
2000 7: 1, # 'ر'
2001 27: 1, # 'ز'
2002 13: 1, # 'س'
2003 21: 1, # 'ش'
2004 23: 1, # 'ص'
2005 29: 1, # 'ض'
2006 22: 1, # 'ط'
2007 38: 1, # 'ظ'
2008 11: 1, # 'ع'
2009 31: 1, # 'غ'
2010 45: 0, # 'ؿ'
2011 42: 1, # 'ـ'
2012 14: 1, # 'ف'
2013 16: 1, # 'ق'
2014 17: 1, # 'ك'
2015 2: 2, # 'ل'
2016 4: 1, # 'م'
2017 6: 2, # 'ن'
2018 15: 1, # 'ه'
2019 5: 1, # 'و'
2020 25: 1, # 'ى'
2021 3: 2, # 'ي'
2022 33: 0, # 'ً'
2023 44: 0, # 'ٌ'
2024 43: 0, # 'ٍ'
2025 35: 0, # 'َ'
2026 36: 0, # 'ُ'
2027 39: 1, # 'ِ'
2028 37: 2, # 'ّ'
2029 },
2030 37: { # 'ّ'
2031 34: 1, # 'ء'
2032 40: 1, # 'آ'
2033 18: 1, # 'أ'
2034 41: 1, # 'ؤ'
2035 24: 0, # 'إ'
2036 32: 1, # 'ئ'
2037 1: 2, # 'ا'
2038 9: 1, # 'ب'
2039 10: 2, # 'ة'
2040 8: 1, # 'ت'
2041 28: 1, # 'ث'
2042 20: 1, # 'ج'
2043 19: 1, # 'ح'
2044 26: 1, # 'خ'
2045 12: 2, # 'د'
2046 30: 1, # 'ذ'
2047 7: 2, # 'ر'
2048 27: 1, # 'ز'
2049 13: 1, # 'س'
2050 21: 1, # 'ش'
2051 23: 1, # 'ص'
2052 29: 1, # 'ض'
2053 22: 1, # 'ط'
2054 38: 1, # 'ظ'
2055 11: 1, # 'ع'
2056 31: 1, # 'غ'
2057 45: 0, # 'ؿ'
2058 42: 1, # 'ـ'
2059 14: 1, # 'ف'
2060 16: 1, # 'ق'
2061 17: 1, # 'ك'
2062 2: 2, # 'ل'
2063 4: 2, # 'م'
2064 6: 1, # 'ن'
2065 15: 2, # 'ه'
2066 5: 1, # 'و'
2067 25: 1, # 'ى'
2068 3: 1, # 'ي'
2069 33: 0, # 'ً'
2070 44: 0, # 'ٌ'
2071 43: 0, # 'ٍ'
2072 35: 0, # 'َ'
2073 36: 0, # 'ُ'
2074 39: 0, # 'ِ'
2075 37: 1, # 'ّ'
2076 },
2077}
2078
2079# 255: Undefined characters that did not exist in training text
2080# 254: Carriage/Return
2081# 253: symbol (punctuation) that does not belong to word
2082# 252: 0 - 9
2083# 251: Control characters
2084
2085# Character Mapping Table(s):
2086ISO_8859_6_ARABIC_CHAR_TO_ORDER = {
2087 0: 251, # '\x00'
2088 1: 251, # '\x01'
2089 2: 251, # '\x02'
2090 3: 251, # '\x03'
2091 4: 251, # '\x04'
2092 5: 251, # '\x05'
2093 6: 251, # '\x06'
2094 7: 251, # '\x07'
2095 8: 251, # '\x08'
2096 9: 251, # '\t'
2097 10: 254, # '\n'
2098 11: 251, # '\x0b'
2099 12: 251, # '\x0c'
2100 13: 254, # '\r'
2101 14: 251, # '\x0e'
2102 15: 251, # '\x0f'
2103 16: 251, # '\x10'
2104 17: 251, # '\x11'
2105 18: 251, # '\x12'
2106 19: 251, # '\x13'
2107 20: 251, # '\x14'
2108 21: 251, # '\x15'
2109 22: 251, # '\x16'
2110 23: 251, # '\x17'
2111 24: 251, # '\x18'
2112 25: 251, # '\x19'
2113 26: 251, # '\x1a'
2114 27: 251, # '\x1b'
2115 28: 251, # '\x1c'
2116 29: 251, # '\x1d'
2117 30: 251, # '\x1e'
2118 31: 251, # '\x1f'
2119 32: 251, # ' '
2120 33: 253, # '!'
2121 34: 253, # '"'
2122 35: 253, # '#'
2123 36: 253, # '$'
2124 37: 253, # '%'
2125 38: 253, # '&'
2126 39: 253, # "'"
2127 40: 253, # '('
2128 41: 253, # ')'
2129 42: 253, # '*'
2130 43: 253, # '+'
2131 44: 253, # ','
2132 45: 253, # '-'
2133 46: 253, # '.'
2134 47: 253, # '/'
2135 48: 252, # '0'
2136 49: 252, # '1'
2137 50: 252, # '2'
2138 51: 252, # '3'
2139 52: 252, # '4'
2140 53: 252, # '5'
2141 54: 252, # '6'
2142 55: 252, # '7'
2143 56: 252, # '8'
2144 57: 252, # '9'
2145 58: 253, # ':'
2146 59: 253, # ';'
2147 60: 253, # '<'
2148 61: 253, # '='
2149 62: 253, # '>'
2150 63: 253, # '?'
2151 64: 253, # '@'
2152 65: 255, # 'A'
2153 66: 255, # 'B'
2154 67: 255, # 'C'
2155 68: 255, # 'D'
2156 69: 255, # 'E'
2157 70: 255, # 'F'
2158 71: 255, # 'G'
2159 72: 255, # 'H'
2160 73: 255, # 'I'
2161 74: 255, # 'J'
2162 75: 255, # 'K'
2163 76: 255, # 'L'
2164 77: 255, # 'M'
2165 78: 255, # 'N'
2166 79: 255, # 'O'
2167 80: 255, # 'P'
2168 81: 255, # 'Q'
2169 82: 255, # 'R'
2170 83: 255, # 'S'
2171 84: 255, # 'T'
2172 85: 255, # 'U'
2173 86: 255, # 'V'
2174 87: 255, # 'W'
2175 88: 255, # 'X'
2176 89: 255, # 'Y'
2177 90: 255, # 'Z'
2178 91: 253, # '['
2179 92: 253, # '\\'
2180 93: 253, # ']'
2181 94: 253, # '^'
2182 95: 253, # '_'
2183 96: 253, # '`'
2184 97: 255, # 'a'
2185 98: 255, # 'b'
2186 99: 255, # 'c'
2187 100: 255, # 'd'
2188 101: 255, # 'e'
2189 102: 255, # 'f'
2190 103: 255, # 'g'
2191 104: 255, # 'h'
2192 105: 255, # 'i'
2193 106: 255, # 'j'
2194 107: 255, # 'k'
2195 108: 255, # 'l'
2196 109: 255, # 'm'
2197 110: 255, # 'n'
2198 111: 255, # 'o'
2199 112: 255, # 'p'
2200 113: 255, # 'q'
2201 114: 255, # 'r'
2202 115: 255, # 's'
2203 116: 255, # 't'
2204 117: 255, # 'u'
2205 118: 255, # 'v'
2206 119: 255, # 'w'
2207 120: 255, # 'x'
2208 121: 255, # 'y'
2209 122: 255, # 'z'
2210 123: 253, # '{'
2211 124: 253, # '|'
2212 125: 253, # '}'
2213 126: 253, # '~'
2214 127: 251, # '\x7f'
2215 128: 251, # '\x80'
2216 129: 251, # '\x81'
2217 130: 251, # '\x82'
2218 131: 251, # '\x83'
2219 132: 251, # '\x84'
2220 133: 251, # '\x85'
2221 134: 251, # '\x86'
2222 135: 251, # '\x87'
2223 136: 251, # '\x88'
2224 137: 251, # '\x89'
2225 138: 251, # '\x8a'
2226 139: 251, # '\x8b'
2227 140: 251, # '\x8c'
2228 141: 251, # '\x8d'
2229 142: 251, # '\x8e'
2230 143: 251, # '\x8f'
2231 144: 251, # '\x90'
2232 145: 251, # '\x91'
2233 146: 251, # '\x92'
2234 147: 251, # '\x93'
2235 148: 251, # '\x94'
2236 149: 251, # '\x95'
2237 150: 251, # '\x96'
2238 151: 251, # '\x97'
2239 152: 251, # '\x98'
2240 153: 251, # '\x99'
2241 154: 251, # '\x9a'
2242 155: 251, # '\x9b'
2243 156: 251, # '\x9c'
2244 157: 251, # '\x9d'
2245 158: 251, # '\x9e'
2246 159: 251, # '\x9f'
2247 160: 251, # '\xa0'
2248 161: 255, # None
2249 162: 255, # None
2250 163: 255, # None
2251 164: 253, # '¤'
2252 165: 255, # None
2253 166: 255, # None
2254 167: 255, # None
2255 168: 255, # None
2256 169: 255, # None
2257 170: 255, # None
2258 171: 255, # None
2259 172: 253, # '،'
2260 173: 251, # '\xad'
2261 174: 255, # None
2262 175: 255, # None
2263 176: 255, # None
2264 177: 255, # None
2265 178: 255, # None
2266 179: 255, # None
2267 180: 255, # None
2268 181: 255, # None
2269 182: 255, # None
2270 183: 255, # None
2271 184: 255, # None
2272 185: 255, # None
2273 186: 255, # None
2274 187: 253, # '؛'
2275 188: 255, # None
2276 189: 255, # None
2277 190: 255, # None
2278 191: 253, # '؟'
2279 192: 255, # None
2280 193: 34, # 'ء'
2281 194: 40, # 'آ'
2282 195: 18, # 'أ'
2283 196: 41, # 'ؤ'
2284 197: 24, # 'إ'
2285 198: 32, # 'ئ'
2286 199: 1, # 'ا'
2287 200: 9, # 'ب'
2288 201: 10, # 'ة'
2289 202: 8, # 'ت'
2290 203: 28, # 'ث'
2291 204: 20, # 'ج'
2292 205: 19, # 'ح'
2293 206: 26, # 'خ'
2294 207: 12, # 'د'
2295 208: 30, # 'ذ'
2296 209: 7, # 'ر'
2297 210: 27, # 'ز'
2298 211: 13, # 'س'
2299 212: 21, # 'ش'
2300 213: 23, # 'ص'
2301 214: 29, # 'ض'
2302 215: 22, # 'ط'
2303 216: 38, # 'ظ'
2304 217: 11, # 'ع'
2305 218: 31, # 'غ'
2306 219: 255, # None
2307 220: 255, # None
2308 221: 255, # None
2309 222: 255, # None
2310 223: 255, # None
2311 224: 42, # 'ـ'
2312 225: 14, # 'ف'
2313 226: 16, # 'ق'
2314 227: 17, # 'ك'
2315 228: 2, # 'ل'
2316 229: 4, # 'م'
2317 230: 6, # 'ن'
2318 231: 15, # 'ه'
2319 232: 5, # 'و'
2320 233: 25, # 'ى'
2321 234: 3, # 'ي'
2322 235: 253, # 'ً'
2323 236: 253, # 'ٌ'
2324 237: 253, # 'ٍ'
2325 238: 253, # 'َ'
2326 239: 253, # 'ُ'
2327 240: 253, # 'ِ'
2328 241: 253, # 'ّ'
2329 242: 253, # 'ْ'
2330 243: 255, # None
2331 244: 255, # None
2332 245: 255, # None
2333 246: 255, # None
2334 247: 255, # None
2335 248: 255, # None
2336 249: 255, # None
2337 250: 255, # None
2338 251: 255, # None
2339 252: 255, # None
2340 253: 255, # None
2341 254: 255, # None
2342 255: 255, # None
2343}
2344
2345ISO_8859_6_ARABIC_MODEL = SingleByteCharSetModel(
2346 charset_name="ISO-8859-6",
2347 language="Arabic",
2348 char_to_order_map=ISO_8859_6_ARABIC_CHAR_TO_ORDER,
2349 language_model=ARABIC_LANG_MODEL,
2350 typical_positive_ratio=1.0,
2351 keep_ascii_letters=False,
2352 alphabet="ءآأؤإئابةتثجحخدذرزسشصضطظعغػؼؽؾؿـفقكلمنهوىيًٌٍَُِّ",
2353)
2354
2355WINDOWS_1256_ARABIC_CHAR_TO_ORDER = {
2356 0: 251, # '\x00'
2357 1: 251, # '\x01'
2358 2: 251, # '\x02'
2359 3: 251, # '\x03'
2360 4: 251, # '\x04'
2361 5: 251, # '\x05'
2362 6: 251, # '\x06'
2363 7: 251, # '\x07'
2364 8: 251, # '\x08'
2365 9: 251, # '\t'
2366 10: 254, # '\n'
2367 11: 251, # '\x0b'
2368 12: 251, # '\x0c'
2369 13: 254, # '\r'
2370 14: 251, # '\x0e'
2371 15: 251, # '\x0f'
2372 16: 251, # '\x10'
2373 17: 251, # '\x11'
2374 18: 251, # '\x12'
2375 19: 251, # '\x13'
2376 20: 251, # '\x14'
2377 21: 251, # '\x15'
2378 22: 251, # '\x16'
2379 23: 251, # '\x17'
2380 24: 251, # '\x18'
2381 25: 251, # '\x19'
2382 26: 251, # '\x1a'
2383 27: 251, # '\x1b'
2384 28: 251, # '\x1c'
2385 29: 251, # '\x1d'
2386 30: 251, # '\x1e'
2387 31: 251, # '\x1f'
2388 32: 251, # ' '
2389 33: 253, # '!'
2390 34: 253, # '"'
2391 35: 253, # '#'
2392 36: 253, # '$'
2393 37: 253, # '%'
2394 38: 253, # '&'
2395 39: 253, # "'"
2396 40: 253, # '('
2397 41: 253, # ')'
2398 42: 253, # '*'
2399 43: 253, # '+'
2400 44: 253, # ','
2401 45: 253, # '-'
2402 46: 253, # '.'
2403 47: 253, # '/'
2404 48: 252, # '0'
2405 49: 252, # '1'
2406 50: 252, # '2'
2407 51: 252, # '3'
2408 52: 252, # '4'
2409 53: 252, # '5'
2410 54: 252, # '6'
2411 55: 252, # '7'
2412 56: 252, # '8'
2413 57: 252, # '9'
2414 58: 253, # ':'
2415 59: 253, # ';'
2416 60: 253, # '<'
2417 61: 253, # '='
2418 62: 253, # '>'
2419 63: 253, # '?'
2420 64: 253, # '@'
2421 65: 255, # 'A'
2422 66: 255, # 'B'
2423 67: 255, # 'C'
2424 68: 255, # 'D'
2425 69: 255, # 'E'
2426 70: 255, # 'F'
2427 71: 255, # 'G'
2428 72: 255, # 'H'
2429 73: 255, # 'I'
2430 74: 255, # 'J'
2431 75: 255, # 'K'
2432 76: 255, # 'L'
2433 77: 255, # 'M'
2434 78: 255, # 'N'
2435 79: 255, # 'O'
2436 80: 255, # 'P'
2437 81: 255, # 'Q'
2438 82: 255, # 'R'
2439 83: 255, # 'S'
2440 84: 255, # 'T'
2441 85: 255, # 'U'
2442 86: 255, # 'V'
2443 87: 255, # 'W'
2444 88: 255, # 'X'
2445 89: 255, # 'Y'
2446 90: 255, # 'Z'
2447 91: 253, # '['
2448 92: 253, # '\\'
2449 93: 253, # ']'
2450 94: 253, # '^'
2451 95: 253, # '_'
2452 96: 253, # '`'
2453 97: 255, # 'a'
2454 98: 255, # 'b'
2455 99: 255, # 'c'
2456 100: 255, # 'd'
2457 101: 255, # 'e'
2458 102: 255, # 'f'
2459 103: 255, # 'g'
2460 104: 255, # 'h'
2461 105: 255, # 'i'
2462 106: 255, # 'j'
2463 107: 255, # 'k'
2464 108: 255, # 'l'
2465 109: 255, # 'm'
2466 110: 255, # 'n'
2467 111: 255, # 'o'
2468 112: 255, # 'p'
2469 113: 255, # 'q'
2470 114: 255, # 'r'
2471 115: 255, # 's'
2472 116: 255, # 't'
2473 117: 255, # 'u'
2474 118: 255, # 'v'
2475 119: 255, # 'w'
2476 120: 255, # 'x'
2477 121: 255, # 'y'
2478 122: 255, # 'z'
2479 123: 253, # '{'
2480 124: 253, # '|'
2481 125: 253, # '}'
2482 126: 253, # '~'
2483 127: 251, # '\x7f'
2484 128: 253, # '€'
2485 129: 255, # 'پ'
2486 130: 253, # '‚'
2487 131: 255, # 'ƒ'
2488 132: 253, # '„'
2489 133: 253, # '…'
2490 134: 253, # '†'
2491 135: 253, # '‡'
2492 136: 255, # 'ˆ'
2493 137: 253, # '‰'
2494 138: 255, # 'ٹ'
2495 139: 253, # '‹'
2496 140: 255, # 'Œ'
2497 141: 255, # 'چ'
2498 142: 255, # 'ژ'
2499 143: 255, # 'ڈ'
2500 144: 255, # 'گ'
2501 145: 253, # '‘'
2502 146: 253, # '’'
2503 147: 253, # '“'
2504 148: 253, # '”'
2505 149: 253, # '•'
2506 150: 253, # '–'
2507 151: 253, # '—'
2508 152: 255, # 'ک'
2509 153: 253, # '™'
2510 154: 255, # 'ڑ'
2511 155: 253, # '›'
2512 156: 255, # 'œ'
2513 157: 251, # '\u200c'
2514 158: 251, # '\u200d'
2515 159: 255, # 'ں'
2516 160: 251, # '\xa0'
2517 161: 253, # '،'
2518 162: 253, # '¢'
2519 163: 253, # '£'
2520 164: 253, # '¤'
2521 165: 253, # '¥'
2522 166: 253, # '¦'
2523 167: 253, # '§'
2524 168: 253, # '¨'
2525 169: 253, # '©'
2526 170: 255, # 'ھ'
2527 171: 253, # '«'
2528 172: 253, # '¬'
2529 173: 251, # '\xad'
2530 174: 253, # '®'
2531 175: 253, # '¯'
2532 176: 253, # '°'
2533 177: 253, # '±'
2534 178: 252, # '²'
2535 179: 252, # '³'
2536 180: 253, # '´'
2537 181: 255, # 'µ'
2538 182: 253, # '¶'
2539 183: 253, # '·'
2540 184: 253, # '¸'
2541 185: 252, # '¹'
2542 186: 253, # '؛'
2543 187: 253, # '»'
2544 188: 252, # '¼'
2545 189: 252, # '½'
2546 190: 252, # '¾'
2547 191: 253, # '؟'
2548 192: 255, # 'ہ'
2549 193: 34, # 'ء'
2550 194: 40, # 'آ'
2551 195: 18, # 'أ'
2552 196: 41, # 'ؤ'
2553 197: 24, # 'إ'
2554 198: 32, # 'ئ'
2555 199: 1, # 'ا'
2556 200: 9, # 'ب'
2557 201: 10, # 'ة'
2558 202: 8, # 'ت'
2559 203: 28, # 'ث'
2560 204: 20, # 'ج'
2561 205: 19, # 'ح'
2562 206: 26, # 'خ'
2563 207: 12, # 'د'
2564 208: 30, # 'ذ'
2565 209: 7, # 'ر'
2566 210: 27, # 'ز'
2567 211: 13, # 'س'
2568 212: 21, # 'ش'
2569 213: 23, # 'ص'
2570 214: 29, # 'ض'
2571 215: 253, # '×'
2572 216: 22, # 'ط'
2573 217: 38, # 'ظ'
2574 218: 11, # 'ع'
2575 219: 31, # 'غ'
2576 220: 42, # 'ـ'
2577 221: 14, # 'ف'
2578 222: 16, # 'ق'
2579 223: 17, # 'ك'
2580 224: 255, # 'à'
2581 225: 2, # 'ل'
2582 226: 255, # 'â'
2583 227: 4, # 'م'
2584 228: 6, # 'ن'
2585 229: 15, # 'ه'
2586 230: 5, # 'و'
2587 231: 255, # 'ç'
2588 232: 255, # 'è'
2589 233: 255, # 'é'
2590 234: 255, # 'ê'
2591 235: 255, # 'ë'
2592 236: 25, # 'ى'
2593 237: 3, # 'ي'
2594 238: 255, # 'î'
2595 239: 255, # 'ï'
2596 240: 253, # 'ً'
2597 241: 253, # 'ٌ'
2598 242: 253, # 'ٍ'
2599 243: 253, # 'َ'
2600 244: 255, # 'ô'
2601 245: 253, # 'ُ'
2602 246: 253, # 'ِ'
2603 247: 253, # '÷'
2604 248: 253, # 'ّ'
2605 249: 255, # 'ù'
2606 250: 253, # 'ْ'
2607 251: 255, # 'û'
2608 252: 255, # 'ü'
2609 253: 251, # '\u200e'
2610 254: 251, # '\u200f'
2611 255: 255, # 'ے'
2612}
2613
2614WINDOWS_1256_ARABIC_MODEL = SingleByteCharSetModel(
2615 charset_name="WINDOWS-1256",
2616 language="Arabic",
2617 char_to_order_map=WINDOWS_1256_ARABIC_CHAR_TO_ORDER,
2618 language_model=ARABIC_LANG_MODEL,
2619 typical_positive_ratio=1.0,
2620 keep_ascii_letters=False,
2621 alphabet="ءآأؤإئابةتثجحخدذرزسشصضطظعغػؼؽؾؿـفقكلمنهوىيًٌٍَُِّ",
2622)
2623
2624CP720_ARABIC_CHAR_TO_ORDER = {
2625 0: 251, # '\x00'
2626 1: 251, # '\x01'
2627 2: 251, # '\x02'
2628 3: 251, # '\x03'
2629 4: 251, # '\x04'
2630 5: 251, # '\x05'
2631 6: 251, # '\x06'
2632 7: 251, # '\x07'
2633 8: 251, # '\x08'
2634 9: 251, # '\t'
2635 10: 254, # '\n'
2636 11: 251, # '\x0b'
2637 12: 251, # '\x0c'
2638 13: 254, # '\r'
2639 14: 251, # '\x0e'
2640 15: 251, # '\x0f'
2641 16: 251, # '\x10'
2642 17: 251, # '\x11'
2643 18: 251, # '\x12'
2644 19: 251, # '\x13'
2645 20: 251, # '\x14'
2646 21: 251, # '\x15'
2647 22: 251, # '\x16'
2648 23: 251, # '\x17'
2649 24: 251, # '\x18'
2650 25: 251, # '\x19'
2651 26: 251, # '\x1a'
2652 27: 251, # '\x1b'
2653 28: 251, # '\x1c'
2654 29: 251, # '\x1d'
2655 30: 251, # '\x1e'
2656 31: 251, # '\x1f'
2657 32: 251, # ' '
2658 33: 253, # '!'
2659 34: 253, # '"'
2660 35: 253, # '#'
2661 36: 253, # '$'
2662 37: 253, # '%'
2663 38: 253, # '&'
2664 39: 253, # "'"
2665 40: 253, # '('
2666 41: 253, # ')'
2667 42: 253, # '*'
2668 43: 253, # '+'
2669 44: 253, # ','
2670 45: 253, # '-'
2671 46: 253, # '.'
2672 47: 253, # '/'
2673 48: 252, # '0'
2674 49: 252, # '1'
2675 50: 252, # '2'
2676 51: 252, # '3'
2677 52: 252, # '4'
2678 53: 252, # '5'
2679 54: 252, # '6'
2680 55: 252, # '7'
2681 56: 252, # '8'
2682 57: 252, # '9'
2683 58: 253, # ':'
2684 59: 253, # ';'
2685 60: 253, # '<'
2686 61: 253, # '='
2687 62: 253, # '>'
2688 63: 253, # '?'
2689 64: 253, # '@'
2690 65: 255, # 'A'
2691 66: 255, # 'B'
2692 67: 255, # 'C'
2693 68: 255, # 'D'
2694 69: 255, # 'E'
2695 70: 255, # 'F'
2696 71: 255, # 'G'
2697 72: 255, # 'H'
2698 73: 255, # 'I'
2699 74: 255, # 'J'
2700 75: 255, # 'K'
2701 76: 255, # 'L'
2702 77: 255, # 'M'
2703 78: 255, # 'N'
2704 79: 255, # 'O'
2705 80: 255, # 'P'
2706 81: 255, # 'Q'
2707 82: 255, # 'R'
2708 83: 255, # 'S'
2709 84: 255, # 'T'
2710 85: 255, # 'U'
2711 86: 255, # 'V'
2712 87: 255, # 'W'
2713 88: 255, # 'X'
2714 89: 255, # 'Y'
2715 90: 255, # 'Z'
2716 91: 253, # '['
2717 92: 253, # '\\'
2718 93: 253, # ']'
2719 94: 253, # '^'
2720 95: 253, # '_'
2721 96: 253, # '`'
2722 97: 255, # 'a'
2723 98: 255, # 'b'
2724 99: 255, # 'c'
2725 100: 255, # 'd'
2726 101: 255, # 'e'
2727 102: 255, # 'f'
2728 103: 255, # 'g'
2729 104: 255, # 'h'
2730 105: 255, # 'i'
2731 106: 255, # 'j'
2732 107: 255, # 'k'
2733 108: 255, # 'l'
2734 109: 255, # 'm'
2735 110: 255, # 'n'
2736 111: 255, # 'o'
2737 112: 255, # 'p'
2738 113: 255, # 'q'
2739 114: 255, # 'r'
2740 115: 255, # 's'
2741 116: 255, # 't'
2742 117: 255, # 'u'
2743 118: 255, # 'v'
2744 119: 255, # 'w'
2745 120: 255, # 'x'
2746 121: 255, # 'y'
2747 122: 255, # 'z'
2748 123: 253, # '{'
2749 124: 253, # '|'
2750 125: 253, # '}'
2751 126: 253, # '~'
2752 127: 251, # '\x7f'
2753 128: 251, # '\x80'
2754 129: 251, # '\x81'
2755 130: 255, # 'é'
2756 131: 255, # 'â'
2757 132: 251, # '\x84'
2758 133: 255, # 'à'
2759 134: 251, # '\x86'
2760 135: 255, # 'ç'
2761 136: 255, # 'ê'
2762 137: 255, # 'ë'
2763 138: 255, # 'è'
2764 139: 255, # 'ï'
2765 140: 255, # 'î'
2766 141: 251, # '\x8d'
2767 142: 251, # '\x8e'
2768 143: 251, # '\x8f'
2769 144: 251, # '\x90'
2770 145: 253, # 'ّ'
2771 146: 253, # 'ْ'
2772 147: 255, # 'ô'
2773 148: 253, # '¤'
2774 149: 42, # 'ـ'
2775 150: 255, # 'û'
2776 151: 255, # 'ù'
2777 152: 34, # 'ء'
2778 153: 40, # 'آ'
2779 154: 18, # 'أ'
2780 155: 41, # 'ؤ'
2781 156: 253, # '£'
2782 157: 24, # 'إ'
2783 158: 32, # 'ئ'
2784 159: 1, # 'ا'
2785 160: 9, # 'ب'
2786 161: 10, # 'ة'
2787 162: 8, # 'ت'
2788 163: 28, # 'ث'
2789 164: 20, # 'ج'
2790 165: 19, # 'ح'
2791 166: 26, # 'خ'
2792 167: 12, # 'د'
2793 168: 30, # 'ذ'
2794 169: 7, # 'ر'
2795 170: 27, # 'ز'
2796 171: 13, # 'س'
2797 172: 21, # 'ش'
2798 173: 23, # 'ص'
2799 174: 253, # '«'
2800 175: 253, # '»'
2801 176: 253, # '░'
2802 177: 253, # '▒'
2803 178: 253, # '▓'
2804 179: 253, # '│'
2805 180: 253, # '┤'
2806 181: 253, # '╡'
2807 182: 253, # '╢'
2808 183: 253, # '╖'
2809 184: 253, # '╕'
2810 185: 253, # '╣'
2811 186: 253, # '║'
2812 187: 253, # '╗'
2813 188: 253, # '╝'
2814 189: 253, # '╜'
2815 190: 253, # '╛'
2816 191: 253, # '┐'
2817 192: 253, # '└'
2818 193: 253, # '┴'
2819 194: 253, # '┬'
2820 195: 253, # '├'
2821 196: 253, # '─'
2822 197: 253, # '┼'
2823 198: 253, # '╞'
2824 199: 253, # '╟'
2825 200: 253, # '╚'
2826 201: 253, # '╔'
2827 202: 253, # '╩'
2828 203: 253, # '╦'
2829 204: 253, # '╠'
2830 205: 253, # '═'
2831 206: 253, # '╬'
2832 207: 253, # '╧'
2833 208: 253, # '╨'
2834 209: 253, # '╤'
2835 210: 253, # '╥'
2836 211: 253, # '╙'
2837 212: 253, # '╘'
2838 213: 253, # '╒'
2839 214: 253, # '╓'
2840 215: 253, # '╫'
2841 216: 253, # '╪'
2842 217: 253, # '┘'
2843 218: 253, # '┌'
2844 219: 253, # '█'
2845 220: 253, # '▄'
2846 221: 253, # '▌'
2847 222: 253, # '▐'
2848 223: 253, # '▀'
2849 224: 29, # 'ض'
2850 225: 22, # 'ط'
2851 226: 38, # 'ظ'
2852 227: 11, # 'ع'
2853 228: 31, # 'غ'
2854 229: 14, # 'ف'
2855 230: 255, # 'µ'
2856 231: 16, # 'ق'
2857 232: 17, # 'ك'
2858 233: 2, # 'ل'
2859 234: 4, # 'م'
2860 235: 6, # 'ن'
2861 236: 15, # 'ه'
2862 237: 5, # 'و'
2863 238: 25, # 'ى'
2864 239: 3, # 'ي'
2865 240: 253, # '≡'
2866 241: 253, # 'ً'
2867 242: 253, # 'ٌ'
2868 243: 253, # 'ٍ'
2869 244: 253, # 'َ'
2870 245: 253, # 'ُ'
2871 246: 253, # 'ِ'
2872 247: 253, # '≈'
2873 248: 253, # '°'
2874 249: 253, # '∙'
2875 250: 253, # '·'
2876 251: 253, # '√'
2877 252: 255, # 'ⁿ'
2878 253: 252, # '²'
2879 254: 253, # '■'
2880 255: 251, # '\xa0'
2881}
2882
2883CP720_ARABIC_MODEL = SingleByteCharSetModel(
2884 charset_name="CP720",
2885 language="Arabic",
2886 char_to_order_map=CP720_ARABIC_CHAR_TO_ORDER,
2887 language_model=ARABIC_LANG_MODEL,
2888 typical_positive_ratio=1.0,
2889 keep_ascii_letters=False,
2890 alphabet="ءآأؤإئابةتثجحخدذرزسشصضطظعغػؼؽؾؿـفقكلمنهوىيًٌٍَُِّ",
2891)
2892
2893CP864_ARABIC_CHAR_TO_ORDER = {
2894 0: 251, # '\x00'
2895 1: 251, # '\x01'
2896 2: 251, # '\x02'
2897 3: 251, # '\x03'
2898 4: 251, # '\x04'
2899 5: 251, # '\x05'
2900 6: 251, # '\x06'
2901 7: 251, # '\x07'
2902 8: 251, # '\x08'
2903 9: 251, # '\t'
2904 10: 254, # '\n'
2905 11: 251, # '\x0b'
2906 12: 251, # '\x0c'
2907 13: 254, # '\r'
2908 14: 251, # '\x0e'
2909 15: 251, # '\x0f'
2910 16: 251, # '\x10'
2911 17: 251, # '\x11'
2912 18: 251, # '\x12'
2913 19: 251, # '\x13'
2914 20: 251, # '\x14'
2915 21: 251, # '\x15'
2916 22: 251, # '\x16'
2917 23: 251, # '\x17'
2918 24: 251, # '\x18'
2919 25: 251, # '\x19'
2920 26: 251, # '\x1a'
2921 27: 251, # '\x1b'
2922 28: 251, # '\x1c'
2923 29: 251, # '\x1d'
2924 30: 251, # '\x1e'
2925 31: 251, # '\x1f'
2926 32: 251, # ' '
2927 33: 253, # '!'
2928 34: 253, # '"'
2929 35: 253, # '#'
2930 36: 253, # '$'
2931 37: 253, # '٪'
2932 38: 253, # '&'
2933 39: 253, # "'"
2934 40: 253, # '('
2935 41: 253, # ')'
2936 42: 253, # '*'
2937 43: 253, # '+'
2938 44: 253, # ','
2939 45: 253, # '-'
2940 46: 253, # '.'
2941 47: 253, # '/'
2942 48: 252, # '0'
2943 49: 252, # '1'
2944 50: 252, # '2'
2945 51: 252, # '3'
2946 52: 252, # '4'
2947 53: 252, # '5'
2948 54: 252, # '6'
2949 55: 252, # '7'
2950 56: 252, # '8'
2951 57: 252, # '9'
2952 58: 253, # ':'
2953 59: 253, # ';'
2954 60: 253, # '<'
2955 61: 253, # '='
2956 62: 253, # '>'
2957 63: 253, # '?'
2958 64: 253, # '@'
2959 65: 255, # 'A'
2960 66: 255, # 'B'
2961 67: 255, # 'C'
2962 68: 255, # 'D'
2963 69: 255, # 'E'
2964 70: 255, # 'F'
2965 71: 255, # 'G'
2966 72: 255, # 'H'
2967 73: 255, # 'I'
2968 74: 255, # 'J'
2969 75: 255, # 'K'
2970 76: 255, # 'L'
2971 77: 255, # 'M'
2972 78: 255, # 'N'
2973 79: 255, # 'O'
2974 80: 255, # 'P'
2975 81: 255, # 'Q'
2976 82: 255, # 'R'
2977 83: 255, # 'S'
2978 84: 255, # 'T'
2979 85: 255, # 'U'
2980 86: 255, # 'V'
2981 87: 255, # 'W'
2982 88: 255, # 'X'
2983 89: 255, # 'Y'
2984 90: 255, # 'Z'
2985 91: 253, # '['
2986 92: 253, # '\\'
2987 93: 253, # ']'
2988 94: 253, # '^'
2989 95: 253, # '_'
2990 96: 253, # '`'
2991 97: 255, # 'a'
2992 98: 255, # 'b'
2993 99: 255, # 'c'
2994 100: 255, # 'd'
2995 101: 255, # 'e'
2996 102: 255, # 'f'
2997 103: 255, # 'g'
2998 104: 255, # 'h'
2999 105: 255, # 'i'
3000 106: 255, # 'j'
3001 107: 255, # 'k'
3002 108: 255, # 'l'
3003 109: 255, # 'm'
3004 110: 255, # 'n'
3005 111: 255, # 'o'
3006 112: 255, # 'p'
3007 113: 255, # 'q'
3008 114: 255, # 'r'
3009 115: 255, # 's'
3010 116: 255, # 't'
3011 117: 255, # 'u'
3012 118: 255, # 'v'
3013 119: 255, # 'w'
3014 120: 255, # 'x'
3015 121: 255, # 'y'
3016 122: 255, # 'z'
3017 123: 253, # '{'
3018 124: 253, # '|'
3019 125: 253, # '}'
3020 126: 253, # '~'
3021 127: 251, # '\x7f'
3022 128: 253, # '°'
3023 129: 253, # '·'
3024 130: 253, # '∙'
3025 131: 253, # '√'
3026 132: 253, # '▒'
3027 133: 253, # '─'
3028 134: 253, # '│'
3029 135: 253, # '┼'
3030 136: 253, # '┤'
3031 137: 253, # '┬'
3032 138: 253, # '├'
3033 139: 253, # '┴'
3034 140: 253, # '┐'
3035 141: 253, # '┌'
3036 142: 253, # '└'
3037 143: 253, # '┘'
3038 144: 255, # 'β'
3039 145: 253, # '∞'
3040 146: 255, # 'φ'
3041 147: 253, # '±'
3042 148: 252, # '½'
3043 149: 252, # '¼'
3044 150: 253, # '≈'
3045 151: 253, # '«'
3046 152: 253, # '»'
3047 153: 255, # 'ﻷ'
3048 154: 255, # 'ﻸ'
3049 155: 255, # None
3050 156: 255, # None
3051 157: 255, # 'ﻻ'
3052 158: 255, # 'ﻼ'
3053 159: 255, # None
3054 160: 251, # '\xa0'
3055 161: 251, # '\xad'
3056 162: 255, # 'ﺂ'
3057 163: 253, # '£'
3058 164: 253, # '¤'
3059 165: 255, # 'ﺄ'
3060 166: 255, # None
3061 167: 255, # None
3062 168: 255, # 'ﺎ'
3063 169: 255, # 'ﺏ'
3064 170: 255, # 'ﺕ'
3065 171: 255, # 'ﺙ'
3066 172: 253, # '،'
3067 173: 255, # 'ﺝ'
3068 174: 255, # 'ﺡ'
3069 175: 255, # 'ﺥ'
3070 176: 252, # '٠'
3071 177: 252, # '١'
3072 178: 252, # '٢'
3073 179: 252, # '٣'
3074 180: 252, # '٤'
3075 181: 252, # '٥'
3076 182: 252, # '٦'
3077 183: 252, # '٧'
3078 184: 252, # '٨'
3079 185: 252, # '٩'
3080 186: 255, # 'ﻑ'
3081 187: 253, # '؛'
3082 188: 255, # 'ﺱ'
3083 189: 255, # 'ﺵ'
3084 190: 255, # 'ﺹ'
3085 191: 253, # '؟'
3086 192: 253, # '¢'
3087 193: 255, # 'ﺀ'
3088 194: 255, # 'ﺁ'
3089 195: 255, # 'ﺃ'
3090 196: 255, # 'ﺅ'
3091 197: 255, # 'ﻊ'
3092 198: 255, # 'ﺋ'
3093 199: 255, # 'ﺍ'
3094 200: 255, # 'ﺑ'
3095 201: 255, # 'ﺓ'
3096 202: 255, # 'ﺗ'
3097 203: 255, # 'ﺛ'
3098 204: 255, # 'ﺟ'
3099 205: 255, # 'ﺣ'
3100 206: 255, # 'ﺧ'
3101 207: 255, # 'ﺩ'
3102 208: 255, # 'ﺫ'
3103 209: 255, # 'ﺭ'
3104 210: 255, # 'ﺯ'
3105 211: 255, # 'ﺳ'
3106 212: 255, # 'ﺷ'
3107 213: 255, # 'ﺻ'
3108 214: 255, # 'ﺿ'
3109 215: 255, # 'ﻁ'
3110 216: 255, # 'ﻅ'
3111 217: 255, # 'ﻋ'
3112 218: 255, # 'ﻏ'
3113 219: 253, # '¦'
3114 220: 253, # '¬'
3115 221: 253, # '÷'
3116 222: 253, # '×'
3117 223: 255, # 'ﻉ'
3118 224: 42, # 'ـ'
3119 225: 255, # 'ﻓ'
3120 226: 255, # 'ﻗ'
3121 227: 255, # 'ﻛ'
3122 228: 255, # 'ﻟ'
3123 229: 255, # 'ﻣ'
3124 230: 255, # 'ﻧ'
3125 231: 255, # 'ﻫ'
3126 232: 255, # 'ﻭ'
3127 233: 255, # 'ﻯ'
3128 234: 255, # 'ﻳ'
3129 235: 255, # 'ﺽ'
3130 236: 255, # 'ﻌ'
3131 237: 255, # 'ﻎ'
3132 238: 255, # 'ﻍ'
3133 239: 255, # 'ﻡ'
3134 240: 255, # 'ﹽ'
3135 241: 253, # 'ّ'
3136 242: 255, # 'ﻥ'
3137 243: 255, # 'ﻩ'
3138 244: 255, # 'ﻬ'
3139 245: 255, # 'ﻰ'
3140 246: 255, # 'ﻲ'
3141 247: 255, # 'ﻐ'
3142 248: 255, # 'ﻕ'
3143 249: 255, # 'ﻵ'
3144 250: 255, # 'ﻶ'
3145 251: 255, # 'ﻝ'
3146 252: 255, # 'ﻙ'
3147 253: 255, # 'ﻱ'
3148 254: 253, # '■'
3149 255: 255, # None
3150}
3151
3152CP864_ARABIC_MODEL = SingleByteCharSetModel(
3153 charset_name="CP864",
3154 language="Arabic",
3155 char_to_order_map=CP864_ARABIC_CHAR_TO_ORDER,
3156 language_model=ARABIC_LANG_MODEL,
3157 typical_positive_ratio=1.0,
3158 keep_ascii_letters=False,
3159 alphabet="ءآأؤإئابةتثجحخدذرزسشصضطظعغػؼؽؾؿـفقكلمنهوىيًٌٍَُِّ",
3160)