diff --git a/.github/workflows/build-windows-libs.yml b/.github/workflows/build-windows-libs.yml new file mode 100644 index 00000000..6ac389b9 --- /dev/null +++ b/.github/workflows/build-windows-libs.yml @@ -0,0 +1,62 @@ +name: build-windows-libs + +on: + push: + branches: [master] + pull_request: + branches: [master] + +defaults: + run: + shell: cmd + +jobs: + build: + strategy: + fail-fast: false + matrix: + arch: [x86, x64] + runs-on: windows-latest + steps: + - name: Install dependencies + run: vcpkg install giflib:${{ matrix.arch }}-windows-static libjpeg-turbo:${{ matrix.arch }}-windows-static liblzma:${{ matrix.arch }}-windows-static libpng:${{ matrix.arch }}-windows-static tiff:${{ matrix.arch }}-windows-static zlib:${{ matrix.arch }}-windows-static + - name: Checkout Leptonica + uses: actions/checkout@v4 + with: + repository: DanBloomberg/leptonica + ref: 1.82.0 + path: leptonica + - name: Build Leptonica ${{ matrix.arch }} + run: | + mkdir vs17-${{ matrix.arch }} + cd vs17-${{ matrix.arch }} + cmake .. -G "Visual Studio 17 2022" -A ${{ matrix.arch == 'x86' && 'Win32' || 'x64' }} -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%VCPKG_INSTALLATION_ROOT%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-windows-static -DCMAKE_INSTALL_PREFIX=..\..\build\${{ matrix.arch }} + cmake --build . --config Release --target install + working-directory: leptonica + - name: Checkout Tesseract + uses: actions/checkout@v4 + with: + repository: tesseract-ocr/tesseract + ref: 5.2.0 + path: tesseract + - name: Build Tesseract ${{ matrix.arch }} + run: | + mkdir vs17-${{ matrix.arch }} + cd vs17-${{ matrix.arch }} + cmake .. -G "Visual Studio 17 2022" -A ${{ matrix.arch == 'x86' && 'Win32' || 'x64' }} -DAUTO_OPTIMIZE=OFF -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\${{ matrix.arch }} + cmake --build . --config Release --target install + working-directory: tesseract + - name: Calculate hash of Leptonica + run: certutil -hashfile leptonica\vs17-${{ matrix.arch }}\bin\Release\leptonica-1.82.0.dll SHA256 + - name: Calculate hash of Tesseract + run: certutil -hashfile tesseract\vs17-${{ matrix.arch }}\bin\Release\tesseract52.dll SHA256 + - name: Archive Leptonica ${{ matrix.arch }} + uses: actions/upload-artifact@v4 + with: + name: leptonica-${{ matrix.arch }} + path: leptonica\vs17-${{ matrix.arch }}\bin\Release\leptonica-1.82.0.dll + - name: Archive Tesseract ${{ matrix.arch }} + uses: actions/upload-artifact@v4 + with: + name: tesseract-${{ matrix.arch }} + path: tesseract\vs17-${{ matrix.arch }}\bin\Release\tesseract52.dll diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e64ec5d..e48e59aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,15 +2,9 @@ name: CI on: push: - branches: [ 'macos-fix' ] + branches: [master] pull_request: - branches: [ 'main', 'develop' ] - paths: - - '**.cs' - - '**.csproj' - -env: - DOTNET_NOLOGO: true + branches: [master] jobs: build-and-test: @@ -18,50 +12,22 @@ jobs: strategy: fail-fast: false matrix: - os: [ 'ubuntu-latest', 'windows-latest', 'macOS-latest' ] + os: [windows-2019, windows-2022] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - - name: Setup .NET Core 3.1.x - uses: actions/setup-dotnet@v1 + - name: Setup .NET + uses: actions/setup-dotnet@v4 with: dotnet-version: '3.1.x' - - name: Setup .NET 6.0.x - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '6.0.x' - - - name: Install Ubuntu dependencies - if: runner.os == 'Linux' - run: | - sudo apt-get update && - sudo apt-get install -y tesseract-ocr libleptonica-dev && - ls -la /usr/local/lib && - ls -la /usr/lib/x86_64-linux-gnu - - - name: Install macOS dependencies - if: runner.os == 'macOS' - run: | - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" && - brew tap-new local/versions && - brew extract --version=4.1.1 tesseract local/versions && - brew install local/versions/tesseract@4.1.1 mono-libgdiplus - - - name: Install dependencies + - name: Restore dependencies run: dotnet restore src/Tesseract.sln - + - name: Build - run: dotnet build --configuration Release --no-restore src/Tesseract.sln - + run: dotnet build src/Tesseract.sln --no-restore + - name: Test - run: dotnet test --configuration Release --no-build --verbosity normal --logger trx --results-directory "TestResults" src/Tesseract.sln - - - name: Upload dotnet test results - uses: actions/upload-artifact@v2 - with: - name: dotnet-results - path: TestResults - if: ${{ always() }} \ No newline at end of file + run: dotnet test src/Tesseract.sln --no-build --verbosity normal diff --git a/docs/Compling_tesseract_and_leptonica.md b/docs/Compling_tesseract_and_leptonica.md index bcd3b7f3..3b64be0a 100644 --- a/docs/Compling_tesseract_and_leptonica.md +++ b/docs/Compling_tesseract_and_leptonica.md @@ -2,7 +2,7 @@ * [Index](./ReadMe.md) ## Notes -Build instructions for Tesseract 4.1.1 and leptonica 1.80.0. Please note that build systems do change so while the following +Build instructions for Tesseract 5.2.0 and leptonica 1.82.0. Please note that build systems do change so while the following has been tested with the listed versions building against any other versions including master may not work as expected and aren't supported. @@ -22,12 +22,12 @@ linking leptonica into tesseract which increases file size (since the leptonica vcpkg install giflib:x64-windows-static libjpeg-turbo:x64-windows-static liblzma:x64-windows-static libpng:x64-windows-static tiff:x64-windows-static zlib:x64-windows-static git clone https://github.com/DanBloomberg/leptonica.git & cd leptonica git checkout -b 1.82.0 1.82.0 - mkdir vs16-x86 & cd vs16-x86 + mkdir vs17-x86 & cd vs17-x86 cmake .. -G "Visual Studio 17 2022" -A Win32 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%VCPKG_HOME%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static -DCMAKE_INSTALL_PREFIX=..\..\build\x86 cmake --build . --config Release --target install cd .. - mkdir vs16-x64 & cd vs16-x64 - cmake .. -G "Visual Studio 17 2022" -A x64 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%VCPKG_HOME%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_INSTALL_PREFIX=..\..\build\x64 + mkdir vs17-x64 & cd vs17-x64 + cmake .. -G "Visual Studio 17 2022" -A x64 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%VCPKG_HOME%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_INSTALL_PREFIX=..\..\build\x64 cmake --build . --config Release --target install ``` 4. Build Tesseract: @@ -38,11 +38,11 @@ linking leptonica into tesseract which increases file size (since the leptonica cd tesserct git checkout -b 5.2.0 5.2.0 mkdir vs17-x86 & cd vs17-x86 - cmake .. -G "Visual Studio 17 2022" -A Win32 -DAUTO_OPTIMIZE=OFF -DSW_BUILD=OFF -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\x86 + cmake .. -G "Visual Studio 17 2022" -A Win32 -DAUTO_OPTIMIZE=OFF -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\x86 cmake --build . --config Release --target install cd .. mkdir vs17-x64 & cd vs17-x64 - cmake .. -G "Visual Studio 17 2022" -A x64 -DAUTO_OPTIMIZE=OFF -DSW_BUILD=OFF -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\x64 + cmake .. -G "Visual Studio 17 2022" -A x64 -DAUTO_OPTIMIZE=OFF -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\x64 cmake --build . --config Release --target install ``` @@ -53,7 +53,8 @@ linking leptonica into tesseract which increases file size (since the leptonica ### Tesseract Notes: +* Like Leptonica, Tesseract needs to be built to use shared libraries * For portability architecture optimizations have been disabled using ``-DAUTO_OPTIMIZE=OFF`. This however will disable platform specific optimizations (AVX, SSE4.1, etc) which would likely result in better performance if your guarantied they will be available. -* Like leptonica Self Build has also been disabled using ``-DSW_BUILD=OFF``. +* Like Leptonica, Self Build has also been disabled using ``-DSW_BUILD=OFF``. diff --git a/docs/Compling_tesseract_and_leptonica.md.bak b/docs/Compling_tesseract_and_leptonica.md.bak deleted file mode 100644 index bcd3b7f3..00000000 --- a/docs/Compling_tesseract_and_leptonica.md.bak +++ /dev/null @@ -1,59 +0,0 @@ -# Compling tesseract and leptonica.md -* [Index](./ReadMe.md) - -## Notes -Build instructions for Tesseract 4.1.1 and leptonica 1.80.0. Please note that build systems do change so while the following -has been tested with the listed versions building against any other versions including master may not work as expected and -aren't supported. - -The following also differ from [[Compiling-Tesseract-and-Leptonica]] in that they use vcpkg to manage the dependencies. -The main benefit of this is that it's possible to compile tesseract against the leptonica dll rather than statically -linking leptonica into tesseract which increases file size (since the leptonica dll is still required). - -1. Install Visual Studio 2022 -2. Install CMake (ensure it's on your path) -3. Install [vcpkg](https://github.com/Microsoft/vcpkg/) - * Note: I also set an environment variable VCPKG_HOME to this directory and added it to path for convenience - -4. Build Leptonica: - - ``` - vcpkg install giflib:x86-windows-static libjpeg-turbo:x86-windows-static liblzma:x86-windows-static libpng:x86-windows-static tiff:x86-windows-static zlib:x86-windows-static - vcpkg install giflib:x64-windows-static libjpeg-turbo:x64-windows-static liblzma:x64-windows-static libpng:x64-windows-static tiff:x64-windows-static zlib:x64-windows-static - git clone https://github.com/DanBloomberg/leptonica.git & cd leptonica - git checkout -b 1.82.0 1.82.0 - mkdir vs16-x86 & cd vs16-x86 - cmake .. -G "Visual Studio 17 2022" -A Win32 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%VCPKG_HOME%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static -DCMAKE_INSTALL_PREFIX=..\..\build\x86 - cmake --build . --config Release --target install - cd .. - mkdir vs16-x64 & cd vs16-x64 - cmake .. -G "Visual Studio 17 2022" -A x64 -DSW_BUILD=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_TOOLCHAIN_FILE=%VCPKG_HOME%\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_INSTALL_PREFIX=..\..\build\x64 - cmake --build . --config Release --target install - ``` -4. Build Tesseract: - - - ``` - git clone https://github.com/tesseract-ocr/tesseract.git - cd tesserct - git checkout -b 5.2.0 5.2.0 - mkdir vs17-x86 & cd vs17-x86 - cmake .. -G "Visual Studio 17 2022" -A Win32 -DAUTO_OPTIMIZE=OFF -DSW_BUILD=OFF -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\x86 - cmake --build . --config Release --target install - cd .. - mkdir vs17-x64 & cd vs17-x64 - cmake .. -G "Visual Studio 17 2022" -A x64 -DAUTO_OPTIMIZE=OFF -DSW_BUILD=OFF -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_INSTALL_PREFIX=..\..\build\x64 - cmake --build . --config Release --target install - ``` - -### Leptonica Notes: - -* Leptonica now needs to be built to use shared libraries (dlls) explicitly, this is accomplished by setting the ``BUILD_SHARED_LIBS`` to ``ON`` (``-DBUILD_SHARED_LIBS=ON``) -* Using [Self build](https://github.com/SoftwareNetwork/sw) hasn't been tested and is disabled using ``SW_BUILD=OFF``. - -### Tesseract Notes: - -* For portability architecture optimizations have been disabled using ``-DAUTO_OPTIMIZE=OFF`. - This however will disable platform specific optimizations (AVX, SSE4.1, etc) which would likely - result in better performance if your guarantied they will be available. -* Like leptonica Self Build has also been disabled using ``-DSW_BUILD=OFF``. diff --git a/src/InternalTrace.3044.log b/src/InternalTrace.3044.log deleted file mode 100644 index e69de29b..00000000 diff --git a/src/InternalTrace.3144.log b/src/InternalTrace.3144.log deleted file mode 100644 index e69de29b..00000000 diff --git a/src/InternalTrace.3536.log b/src/InternalTrace.3536.log deleted file mode 100644 index e69de29b..00000000 diff --git a/src/InternalTrace.7132.log b/src/InternalTrace.7132.log deleted file mode 100644 index e69de29b..00000000 diff --git a/src/InternalTrace.8476.log b/src/InternalTrace.8476.log deleted file mode 100644 index e69de29b..00000000 diff --git a/src/Tesseract.Net48Tests/Tesseract.Net48Tests.csproj b/src/Tesseract.Net48Tests/Tesseract.Net48Tests.csproj index 1fe3f4bb..af442e32 100644 --- a/src/Tesseract.Net48Tests/Tesseract.Net48Tests.csproj +++ b/src/Tesseract.Net48Tests/Tesseract.Net48Tests.csproj @@ -194,13 +194,13 @@ PreserveNewest - + PreserveNewest PreserveNewest - + PreserveNewest diff --git a/src/Tesseract.NetCore31Tests/Tesseract.NetCore31Tests.csproj b/src/Tesseract.NetCore31Tests/Tesseract.NetCore31Tests.csproj index 230aa7bb..01018177 100644 --- a/src/Tesseract.NetCore31Tests/Tesseract.NetCore31Tests.csproj +++ b/src/Tesseract.NetCore31Tests/Tesseract.NetCore31Tests.csproj @@ -192,13 +192,13 @@ PreserveNewest - + PreserveNewest PreserveNewest - + PreserveNewest diff --git a/src/Tesseract.Tests/BaseApiTests.cs b/src/Tesseract.Tests/BaseApiTests.cs index 50b7ea84..e7f2e9fe 100644 --- a/src/Tesseract.Tests/BaseApiTests.cs +++ b/src/Tesseract.Tests/BaseApiTests.cs @@ -11,7 +11,7 @@ public class BaseApiTests public void CanGetVersion() { var version = Interop.TessApi.BaseApiGetVersion(); - Assert.That(version, Does.StartWith("5.0.0")); + Assert.That(version, Does.StartWith("5.2.0")); } } } \ No newline at end of file diff --git a/src/Tesseract.Tests/EngineTests.cs b/src/Tesseract.Tests/EngineTests.cs index 67adeba4..0eeec958 100644 --- a/src/Tesseract.Tests/EngineTests.cs +++ b/src/Tesseract.Tests/EngineTests.cs @@ -1,4 +1,4 @@ -using NUnit.Framework; +using NUnit.Framework; using System; using System.Collections.Generic; using System.Drawing; @@ -20,7 +20,7 @@ public void CanGetVersion() { using (var engine = CreateEngine()) { - Assert.That(engine.Version, Does.StartWith("5.0.0")); + Assert.That(engine.Version, Does.StartWith("5.2.0")); } } @@ -71,7 +71,7 @@ public void CanParseMultipageTifOneByOne() [TestCase(PageSegMode.SingleColumn, "This is a lot of 12 point text to test the")] [TestCase(PageSegMode.SingleLine, "This is a lot of 12 point text to test the")] [TestCase(PageSegMode.SingleWord, "This")] - [TestCase(PageSegMode.SingleChar, "T")] + [TestCase(PageSegMode.SingleChar, "hl")] [TestCase(PageSegMode.SingleBlockVertText, "A line of text", Ignore = "#490")] public void CanParseText_UsingMode(PageSegMode mode, String expectedText) { @@ -135,7 +135,7 @@ public void CanProcessBitmap() var text = page.GetText(); const string expectedText = - "This is a lot of 12 point text to test the\nocr code and see if it works on all types\nof file format.\n\nThe quick brown dog jumped over the\nlazy fox. The quick brown dog jumped\nover the lazy fox. The quick brown dog\njumped over the lazy fox. The quick\nbrown dog jumped over the lazy fox.\n"; + "This is a lot of 12 point text to test the\nocr code and see if it works on all types\nof file format.\n\nThe quick brown dog jumped over the\n\nlazy fox. The quick brown dog jumped\nover the lazy fox. The quick brown dog\njumped over the lazy fox. The quick\nbrown dog jumped over the lazy fox.\n\n"; Assert.That(text, Is.EqualTo(expectedText)); } diff --git a/src/Tesseract.Tests/Results/EngineTests/CanPrintVariables.txt b/src/Tesseract.Tests/Results/EngineTests/CanPrintVariables.txt index 76b6d5b5..75bc1334 100644 --- a/src/Tesseract.Tests/Results/EngineTests/CanPrintVariables.txt +++ b/src/Tesseract.Tests/Results/EngineTests/CanPrintVariables.txt @@ -339,7 +339,7 @@ tessedit_train_from_boxes 0 Generate training data from boxed chars tessedit_make_boxes_from_boxes 0 Generate more boxes from boxed chars tessedit_train_line_recognizer 0 Break input into lines and remap boxes if present tessedit_dump_pageseg_images 0 Dump intermediate images made during page segmentation -tessedit_do_invert 1 Try inverting the image in `LSTMRecognizeWord` +tessedit_do_invert 1 Try inverted line image if necessary (deprecated, will be removed in release 6, use the 'invert_threshold' parameter instead) thresholding_debug 0 Debug the thresholding process tessedit_ambigs_training 0 Perform training for ambiguities tessedit_adaption_debug 0 Generate and print debug information for adaption @@ -488,7 +488,6 @@ matcher_avg_noise_size 12 Avg. noise blob length matcher_clustering_max_angle_delta 0.015 Maximum angle delta for prototype clustering classify_misfit_junk_penalty 0 Penalty to apply when a non-alnum is vertically out of its expected textline position rating_scale 1.5 Rating scaling factor -certainty_scale 20 Certainty scaling factor tessedit_class_miss_scale 0.00390625 Scale factor for features not used classify_adapted_pruning_factor 2.5 Prune poor adapted results this much worse than best result classify_adapted_pruning_threshold -1 Threshold at which classify_adapted_pruning_factor starts @@ -531,11 +530,12 @@ language_model_penalty_chartype 0.3 Penalty for inconsistent character type language_model_penalty_font 0 Penalty for inconsistent font language_model_penalty_spacing 0.05 Penalty for inconsistent spacing language_model_penalty_increment 0.01 Penalty increment -thresholding_window_size 0.33 Window size for measuring local statistics (to be multiplied by image DPI). This parameter is used by the Sauvola thresolding method -thresholding_kfactor 0.34 Factor for reducing threshold due to variance. This parameter is used by the Sauvola thresolding method. Normal range: 0.2-0.5 -thresholding_tile_size 0.33 Desired tile size (to be multiplied by image DPI). This parameter is used by the LeptonicaOtsu thresolding method -thresholding_smooth_kernel_size 0 Size of convolution kernel applied to threshold array (to be multiplied by image DPI). Use 0 for no smoothing. This parameter is used by the LeptonicaOtsu thresolding method -thresholding_score_fraction 0.1 Fraction of the max Otsu score. This parameter is used by the LeptonicaOtsu thresolding method. For standard Otsu use 0.0, otherwise 0.1 is recommended +invert_threshold 0.7 For lines with a mean confidence below this value, OCR is also tried with an inverted image +thresholding_window_size 0.33 Window size for measuring local statistics (to be multiplied by image DPI). This parameter is used by the Sauvola thresholding method +thresholding_kfactor 0.34 Factor for reducing threshold due to variance. This parameter is used by the Sauvola thresholding method. Normal range: 0.2-0.5 +thresholding_tile_size 0.33 Desired tile size (to be multiplied by image DPI). This parameter is used by the LeptonicaOtsu thresholding method +thresholding_smooth_kernel_size 0 Size of convolution kernel applied to threshold array (to be multiplied by image DPI). Use 0 for no smoothing. This parameter is used by the LeptonicaOtsu thresholding method +thresholding_score_fraction 0.1 Fraction of the max Otsu score. This parameter is used by the LeptonicaOtsu thresholding method. For standard Otsu use 0.0, otherwise 0.1 is recommended noise_cert_basechar -8 Hingepoint for base char certainty noise_cert_disjoint -1 Hingepoint for disjoint certainty noise_cert_punc -3 Threshold for new punc char certainty diff --git a/src/Tesseract/Interop/Constants.cs b/src/Tesseract/Interop/Constants.cs index 97db9058..2625bcdf 100644 --- a/src/Tesseract/Interop/Constants.cs +++ b/src/Tesseract/Interop/Constants.cs @@ -8,7 +8,7 @@ namespace Tesseract.Interop internal static class Constants { public const string LeptonicaDllName = "leptonica-1.82.0"; - public const string TesseractDllName = "tesseract50"; + public const string TesseractDllName = "tesseract52"; // tesseract uses an int to represent true false values. public const int TRUE = 1; diff --git a/src/Tesseract/x64/leptonica-1.82.0.dll b/src/Tesseract/x64/leptonica-1.82.0.dll index 64f449cd..437d61ad 100644 Binary files a/src/Tesseract/x64/leptonica-1.82.0.dll and b/src/Tesseract/x64/leptonica-1.82.0.dll differ diff --git a/src/Tesseract/x64/tesseract.exe b/src/Tesseract/x64/tesseract.exe deleted file mode 100644 index 48af3bbc..00000000 Binary files a/src/Tesseract/x64/tesseract.exe and /dev/null differ diff --git a/src/Tesseract/x64/tesseract50.dll b/src/Tesseract/x64/tesseract50.dll deleted file mode 100644 index 92a0dd31..00000000 Binary files a/src/Tesseract/x64/tesseract50.dll and /dev/null differ diff --git a/src/Tesseract/x64/tesseract52.dll b/src/Tesseract/x64/tesseract52.dll new file mode 100644 index 00000000..6dc8ced0 Binary files /dev/null and b/src/Tesseract/x64/tesseract52.dll differ diff --git a/src/Tesseract/x86/leptonica-1.82.0.dll b/src/Tesseract/x86/leptonica-1.82.0.dll index d244fa29..36abafdb 100644 Binary files a/src/Tesseract/x86/leptonica-1.82.0.dll and b/src/Tesseract/x86/leptonica-1.82.0.dll differ diff --git a/src/Tesseract/x86/tesseract.exe b/src/Tesseract/x86/tesseract.exe deleted file mode 100644 index 4c5ef2b5..00000000 Binary files a/src/Tesseract/x86/tesseract.exe and /dev/null differ diff --git a/src/Tesseract/x86/tesseract50.dll b/src/Tesseract/x86/tesseract50.dll deleted file mode 100644 index 3a336415..00000000 Binary files a/src/Tesseract/x86/tesseract50.dll and /dev/null differ diff --git a/src/Tesseract/x86/tesseract52.dll b/src/Tesseract/x86/tesseract52.dll new file mode 100644 index 00000000..5e2a8c10 Binary files /dev/null and b/src/Tesseract/x86/tesseract52.dll differ