Subject: CVS commit: pkgsrc/graphics/tesseract
From: Adam Ciarcinski
Date: 2018-11-03 10:13:07
Message id: 20181103091307.7A0D8FB19@cvs.NetBSD.org

Log Message:
tesseract: updated to 4.0.0

V4.0.0:
New OCR engine
- Added a new OCR engine that uses neural network system based on LSTMs, with \ 
major accuracy gains.
- This includes new training tools for the LSTM OCR engine. A new model can be \ 
trained from scratch or by fine tuning an existing model.
- Added trained data that includes LSTM models to 123 languages.
- Added optional accelerated code paths for the LSTM recognizer:
  * Using OpenMP
  * Using SIMD: AVX2 / AVX / SSE4.1
- Added a new parameter lstm_choice_mode that allows to include alternative \ 
symbol choices in the hOCR output.
- The new LSTM engine still does not support all features from the old legacy \ 
engine (see missing features).

Other OCR engines
- The pattern matching OCR engine that was the primary OCR engine in previous \ 
versions is still available in this version.
- Removed the 'Cube' OCR engine from the codebase. It was used for Hindi and for \ 
Arabic. The New LSTM engine performs much better, thus the Cube engine was no \ 
longer needed.

Updated build system
- Tesseract now uses semantic versioning.
- Tesseract now requires Leptonica 1.74.0 or a higher version.
- For building Tesseract from source code, a compiler with good C++ 11 support \ 
is required. See here for a list of officially supported compilers.
- Added unit tests to the main repo. The unit tests require Git submodules and \ 
the code for training.
- Added an option to compile Tesseract without the code of the legacy OCR engine.
- Update minimum required autoconf version to 2.63.
- Training tools dependencies - Update minimum required versions: ICU 52.1, \ 
Pango 1.22.0.
- Reorganized Tesseract's source tree. Most sources are now below the src directory.

Bug fixes and enhancements
- Fixed many issues that triggered compiler warnings.
- Fixed many issues reported by Coverity Scan or LGTM.
- Fixes to trainingdata rendering.
- Fixed damage to binary images when processing PDFs.
- Don't trigger a deliberate segmentation fault for fatal errors in release code.
- Fixed some issues in OpenCL code. OpenCL now works for the legacy Tesseract \ 
OCR engine, but does not improve the performance. It is not implemented for the \ 
LSTM OCR engine.
- Improved multi-page TIFF handling.
- Improvements to PDF rendering.
- Added version information and improved help texts to the training tools.
- Added faster version of log2().
- Documented in tesseract man page the option to use an input text file which \ 
contains lists of images.
- Made 'osd' the default traineddata when psm 0 is requested (currently this \ 
feature is only implemented in the command line interface, but not in the API).
- Removed tessedit_pageseg_mode 1 from hocr, pdf, and tsv config files. The user \ 
should explicitly use --psm 1 if that is desired.
- The list of available languages and scripts is now sorted alphabetically.
- Parameter unlv_tilde_crunching changed to false, because of default values \ 
cause issues in cases of unlv output in Tesseract 4.
- Removed obsolete code.

Files:
RevisionActionfile
1.40modifypkgsrc/graphics/tesseract/Makefile
1.10modifypkgsrc/graphics/tesseract/PLIST
1.19modifypkgsrc/graphics/tesseract/distinfo
1.2modifypkgsrc/graphics/tesseract/patches/patch-tessdata_Makefile.am
1.2removepkgsrc/graphics/tesseract/patches/patch-viewer_scrollview.cpp