| 56 | } |
| 57 | |
| 58 | Dawg *DawgLoader::Load() { |
| 59 | TessdataManager data_loader; |
| 60 | if (!data_loader.Init(data_file_name_, dawg_debug_level_)) { |
| 61 | return NULL; |
| 62 | } |
| 63 | if (!data_loader.SeekToStart(tessdata_dawg_type_)) { |
| 64 | data_loader.End(); |
| 65 | return NULL; |
| 66 | } |
| 67 | FILE *fp = data_loader.GetDataFilePtr(); |
| 68 | DawgType dawg_type; |
| 69 | PermuterType perm_type; |
| 70 | switch (tessdata_dawg_type_) { |
| 71 | case TESSDATA_PUNC_DAWG: |
| 72 | dawg_type = DAWG_TYPE_PUNCTUATION; |
| 73 | perm_type = PUNC_PERM; |
| 74 | break; |
| 75 | case TESSDATA_SYSTEM_DAWG: |
| 76 | dawg_type = DAWG_TYPE_WORD; |
| 77 | perm_type = SYSTEM_DAWG_PERM; |
| 78 | break; |
| 79 | case TESSDATA_NUMBER_DAWG: |
| 80 | dawg_type = DAWG_TYPE_NUMBER; |
| 81 | perm_type = NUMBER_PERM; |
| 82 | break; |
| 83 | case TESSDATA_BIGRAM_DAWG: |
| 84 | dawg_type = DAWG_TYPE_WORD; // doesn't actually matter |
| 85 | perm_type = COMPOUND_PERM; // doesn't actually matter |
| 86 | break; |
| 87 | case TESSDATA_UNAMBIG_DAWG: |
| 88 | dawg_type = DAWG_TYPE_WORD; |
| 89 | perm_type = SYSTEM_DAWG_PERM; |
| 90 | break; |
| 91 | case TESSDATA_FREQ_DAWG: |
| 92 | dawg_type = DAWG_TYPE_WORD; |
| 93 | perm_type = FREQ_DAWG_PERM; |
| 94 | break; |
| 95 | default: |
| 96 | data_loader.End(); |
| 97 | return NULL; |
| 98 | } |
| 99 | SquishedDawg *retval = |
| 100 | new SquishedDawg(fp, dawg_type, lang_, perm_type, dawg_debug_level_); |
| 101 | data_loader.End(); |
| 102 | return retval; |
| 103 | } |
| 104 | |
| 105 | } // namespace tesseract |
nothing calls this directly
no test coverage detected