All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
tesseract::DawgLoader Struct Reference

Public Member Functions

 DawgLoader (const STRING &lang, const char *data_file_name, TessdataType tessdata_dawg_type, int dawg_debug_level)
 
DawgLoad ()
 

Public Attributes

STRING lang_
 
const char * data_file_name_
 
TessdataType tessdata_dawg_type_
 
int dawg_debug_level_
 

Detailed Description

Definition at line 29 of file dawg_cache.cpp.

Constructor & Destructor Documentation

tesseract::DawgLoader::DawgLoader ( const STRING lang,
const char *  data_file_name,
TessdataType  tessdata_dawg_type,
int  dawg_debug_level 
)
inline

Definition at line 30 of file dawg_cache.cpp.

34  : lang_(lang),
35  data_file_name_(data_file_name),
36  tessdata_dawg_type_(tessdata_dawg_type),
37  dawg_debug_level_(dawg_debug_level) {}
const char * data_file_name_
Definition: dawg_cache.cpp:42
TessdataType tessdata_dawg_type_
Definition: dawg_cache.cpp:43

Member Function Documentation

Dawg * tesseract::DawgLoader::Load ( )

Definition at line 58 of file dawg_cache.cpp.

58  {
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_)) return NULL;
64  FILE *fp = data_loader.GetDataFilePtr();
65  DawgType dawg_type;
66  PermuterType perm_type;
67  switch (tessdata_dawg_type_) {
68  case TESSDATA_PUNC_DAWG:
69  dawg_type = DAWG_TYPE_PUNCTUATION;
70  perm_type = PUNC_PERM;
71  break;
73  dawg_type = DAWG_TYPE_WORD;
74  perm_type = SYSTEM_DAWG_PERM;
75  break;
77  dawg_type = DAWG_TYPE_NUMBER;
78  perm_type = NUMBER_PERM;
79  break;
81  dawg_type = DAWG_TYPE_WORD; // doesn't actually matter
82  perm_type = COMPOUND_PERM; // doesn't actually matter
83  break;
85  dawg_type = DAWG_TYPE_WORD;
86  perm_type = SYSTEM_DAWG_PERM;
87  break;
88  case TESSDATA_FREQ_DAWG:
89  dawg_type = DAWG_TYPE_WORD;
90  perm_type = FREQ_DAWG_PERM;
91  break;
92  default:
93  data_loader.End();
94  return NULL;
95  }
96  SquishedDawg *retval =
97  new SquishedDawg(fp, dawg_type, lang_, perm_type, dawg_debug_level_);
98  data_loader.End();
99  return retval;
100 }
PermuterType
Definition: ratngs.h:240
const char * data_file_name_
Definition: dawg_cache.cpp:42
TessdataType tessdata_dawg_type_
Definition: dawg_cache.cpp:43
DawgType
Definition: dawg.h:71
#define NULL
Definition: host.h:144

Member Data Documentation

const char* tesseract::DawgLoader::data_file_name_

Definition at line 42 of file dawg_cache.cpp.

int tesseract::DawgLoader::dawg_debug_level_

Definition at line 44 of file dawg_cache.cpp.

STRING tesseract::DawgLoader::lang_

Definition at line 41 of file dawg_cache.cpp.

TessdataType tesseract::DawgLoader::tessdata_dawg_type_

Definition at line 43 of file dawg_cache.cpp.


The documentation for this struct was generated from the following file: