66 int main(
int argc,
char **argv) {
69 printf(
"Combining tessdata files\n");
70 STRING output_file = argv[1];
71 output_file += kTrainedDataSuffix;
73 argv[1], output_file.
string())) {
74 char*
last = &argv[1][strlen(argv[1])-1];
75 printf(
"Error combining tessdata files into %s\n",
78 printf(
"Hint: the prefix is missing a period (.)\n");
80 }
else if (argc >= 4 && (strcmp(argv[1],
"-e") == 0 ||
81 strcmp(argv[1],
"-u") == 0)) {
85 printf(
"Extracting tessdata components from %s\n", argv[2]);
86 if (strcmp(argv[1],
"-e") == 0) {
87 for (i = 3; i < argc; ++i) {
89 printf(
"Wrote %s\n", argv[i]);
91 printf(
"Not extracting %s, since this component"
92 " is not present\n", argv[i]);
98 filename += tesseract::kTessdataFileSuffixes[i];
100 printf(
"Wrote %s\n", filename.
string());
105 }
else if (argc >= 4 && strcmp(argv[1],
"-o") == 0) {
107 const char *new_traineddata_filename = argv[2];
108 STRING traineddata_filename = new_traineddata_filename;
109 traineddata_filename +=
".__tmp__";
110 if (rename(new_traineddata_filename, traineddata_filename.
string()) != 0) {
111 tprintf(
"Failed to create a temporary file %s\n",
112 traineddata_filename.
string());
124 printf(
"Usage for combining tessdata components:\n"
125 "%s language_data_path_prefix (e.g. tessdata/eng.)\n", argv[0]);
126 printf(
"Usage for extracting tessdata components:\n"
127 "%s -e traineddata_file [output_component_file...]\n", argv[0]);
128 printf(
"Usage for overwriting tessdata components:\n"
129 "%s -o traineddata_file [input_component_file...]\n", argv[0]);
130 printf(
"Usage for unpacking all tessdata components:\n"
131 "%s -u traineddata_file output_path_prefix"
132 " (e.g. /tmp/eng.)\n", argv[0]);