From 10e6f489d0eaf0b40877a1f31cd28af7540134f4 Mon Sep 17 00:00:00 2001 From: Benoit Pierre Date: Sat, 1 Jun 2024 00:25:59 +0200 Subject: [PATCH] kopt: honor `TESSDATA_PREFIX` environment variable Don't override it by default, but honor it if present. --- frontend/document/koptinterface.lua | 5 ++++- platform/android/llapp_main.lua | 3 --- platform/cervantes/koreader.sh | 3 --- platform/kindle/koreader.sh | 3 --- platform/kobo/koreader.sh | 3 --- platform/kobo/nickel.sh | 2 +- platform/pocketbook/koreader.app | 3 --- platform/remarkable/koreader.sh | 3 --- platform/ubuntu-touch/koreader.sh | 3 --- 9 files changed, 5 insertions(+), 23 deletions(-) diff --git a/frontend/document/koptinterface.lua b/frontend/document/koptinterface.lua index c9fd8eb01..971e9a503 100644 --- a/frontend/document/koptinterface.lua +++ b/frontend/document/koptinterface.lua @@ -20,7 +20,10 @@ local util = require("util") local KoptInterface = { ocrengine = "ocrengine", - tessocr_data = DataStorage:getDataDir() .. "/data", + -- If `$TESSDATA_PREFIX` is set, don't override it: let libk2pdfopt honor it + -- (which includes checking for data in both `$TESSDATA_PREFIX/tessdata` and + -- in `$TESSDATA_PREFIX/` on more recent versions). + tessocr_data = not os.getenv('TESSDATA_PREFIX') and DataStorage:getDataDir().."/data" or nil, ocr_lang = "eng", ocr_type = 3, -- default 0, for more accuracy use 3 last_context_size = nil, diff --git a/platform/android/llapp_main.lua b/platform/android/llapp_main.lua index 1242f6f55..c71e6ce58 100644 --- a/platform/android/llapp_main.lua +++ b/platform/android/llapp_main.lua @@ -16,9 +16,6 @@ end -- path to primary external storage partition local path = android.getExternalStoragePath() --- set TESSDATA_PREFIX env var -C.setenv("TESSDATA_PREFIX", path.."/koreader/data", 1) - -- create fake command-line arguments -- luacheck: ignore 121 if android.isDebuggable() then diff --git a/platform/cervantes/koreader.sh b/platform/cervantes/koreader.sh index ac9deb3da..d82a38489 100755 --- a/platform/cervantes/koreader.sh +++ b/platform/cervantes/koreader.sh @@ -53,9 +53,6 @@ if [ -n "${fail}" ] && [ "${fail}" -eq 0 ]; then exec ./koreader.sh "$@" fi -# export trained OCR data directory -export TESSDATA_PREFIX="data" - # export dict directory export STARDICT_DATA_DIR="data/dict" diff --git a/platform/kindle/koreader.sh b/platform/kindle/koreader.sh index eb62de0c0..25b99a3e1 100755 --- a/platform/kindle/koreader.sh +++ b/platform/kindle/koreader.sh @@ -177,9 +177,6 @@ if [ -n "${fail}" ] && [ "${fail}" -eq 0 ]; then exec ./koreader.sh ${REEXEC_FLAGS} "${@}" fi -# export trained OCR data directory -export TESSDATA_PREFIX="data" - # export dict directory export STARDICT_DATA_DIR="data/dict" diff --git a/platform/kobo/koreader.sh b/platform/kobo/koreader.sh index 6f8c7630b..75a1ef623 100755 --- a/platform/kobo/koreader.sh +++ b/platform/kobo/koreader.sh @@ -146,9 +146,6 @@ if [ -n "${fail}" ] && [ "${fail}" -eq 0 ]; then exec ./koreader.sh "${@}" fi -# export trained OCR data directory -export TESSDATA_PREFIX="data" - # export dict directory export STARDICT_DATA_DIR="data/dict" diff --git a/platform/kobo/nickel.sh b/platform/kobo/nickel.sh index a89700bb2..7acf81f39 100755 --- a/platform/kobo/nickel.sh +++ b/platform/kobo/nickel.sh @@ -13,7 +13,7 @@ export QT_GSTREAMER_PLAYBIN_AUDIOSINK_DEVICE_PARAMETER=bluealsa:DEV=00:00:00:00: # shellcheck disable=SC2164 cd / unset OLDPWD -unset LC_ALL TESSDATA_PREFIX STARDICT_DATA_DIR EXT_FONT_DIR +unset LC_ALL STARDICT_DATA_DIR EXT_FONT_DIR unset KO_DONT_GRAB_INPUT unset FBINK_FORCE_ROTA diff --git a/platform/pocketbook/koreader.app b/platform/pocketbook/koreader.app index 274720ca0..6a79f1574 100755 --- a/platform/pocketbook/koreader.app +++ b/platform/pocketbook/koreader.app @@ -78,9 +78,6 @@ ko_update_check() { # we're always starting from our working directory cd ${KOREADER_DIR} || exit -# export trained OCR data directory -export TESSDATA_PREFIX="data" - # export dict directory export STARDICT_DATA_DIR="data/dict" diff --git a/platform/remarkable/koreader.sh b/platform/remarkable/koreader.sh index e4fa7f4dd..b271a6ce0 100755 --- a/platform/remarkable/koreader.sh +++ b/platform/remarkable/koreader.sh @@ -72,9 +72,6 @@ if [ -n "${fail}" ] && [ "${fail}" -eq 0 ]; then exec ./koreader.sh "${@}" fi -# export trained OCR data directory -export TESSDATA_PREFIX="data" - # export dict directory export STARDICT_DATA_DIR="data/dict" diff --git a/platform/ubuntu-touch/koreader.sh b/platform/ubuntu-touch/koreader.sh index 34c1f6949..f1d0d65f0 100755 --- a/platform/ubuntu-touch/koreader.sh +++ b/platform/ubuntu-touch/koreader.sh @@ -7,9 +7,6 @@ KOREADER_DIR="${0%/*}" # we're always starting from our working directory cd "${KOREADER_DIR}" || exit -# export trained OCR data directory -export TESSDATA_PREFIX="data" - # export external font directory export EXT_FONT_DIR="${HOME}/fonts"