46 {
49 char *tessdata_prefix = getenv("TESSDATA_PREFIX");
50
51 if (!argv0.empty()) {
52
54 } else if (tessdata_prefix) {
55
57#if defined(_WIN32)
59
60 char path[_MAX_PATH];
61 DWORD length = GetModuleFileName(nullptr, path, sizeof(path));
62 if (length > 0 && length < sizeof(path)) {
63 char *separator = std::strrchr(path, '\\');
64 if (separator != nullptr) {
65 *separator = '\0';
66 std::string subdir = path;
67 subdir += "/tessdata";
68 if (_access(subdir.c_str(), 0) == 0) {
70 }
71 }
72 }
73#endif
74 }
75
76
78#if defined(TESSDATA_PREFIX)
79
80 datadir = TESSDATA_PREFIX
"/tessdata";
81#else
83#endif
84 }
85
86
87 const char *lastchar =
datadir.c_str();
88 lastchar +=
datadir.length() - 1;
89 if ((strcmp(lastchar, "/") != 0) && (strcmp(lastchar, "\\") != 0)) {
91 }
92}
std::string imagebasename