4.1.0 Release
Added new renders Alto, LSTMBox, WordStrBox.
Added character boxes in hOCR output.
Added python training scripts (experimental) as alternative shell scripts.
Better support AVX / AVX2 / SSE.
Disable OpenMP support by default.
Fix for bounding box problem.
Implemented support for whitelist/blacklist in LSTM engine.
Improved cmake configuration.
Code modernization and improvements.
A lot of bug fixes...
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.
- Made some fine tuning to the hOCR output.
- Added TSV as another optional output format.
- Fixed ABI break introduced in 3.04.00 with the AnalyseLayout()
method.
- text2image tool - Enable all OpenType ligatures available in a font.
This feature requires Pango 1.38 or newer.
- Training tools - Replaced asserts with tprintf() and exit(1).
- Fixed Cygwin compatibility.
- Improved multipage tiff processing.
- Improved the embedded pdf font (pdf.ttf).
- Enable selection of OCR engine mode from command line.
- Changed tesseract command line parameter '-psm' to '--psm'.
- Added new C API for orientation and script detection, removed the
old one.
- Increased minimum autoconf version to 2.59.
- Removed dead code.
- Fixed many compiler warning.
- Fixed memory and resource leaks.
- Fixed some issues with the 'Cube' OCR engine.
- Fixed some openCL issues.
- Added option to build Tesseract with CMake build system.
- Implemented CPPAN support for easy Windows building.
Move to new home at Github. Clean up.
2015-02-17 - V3.04.01
- Added OSD renderer for psm 0. Works for single page and
multi-page images.
- Improve tesstrain.sh script.
- Simplify build and run of ScrollView.
- Improved PDF output for OS X Preview utility.
- INCOMPATIBLE fix to hOCR line height information - commit
134ebc3.
- Added option to build Tesseract without Cube OCR engine
(-DNO_CUBE_BUILD).
- Enable OpenMP support.
- Many bug fixes.
2015-07-11 - V3.04.00
- Tesseract development is now done with Git and hosted at
github.com (Previously we used Subversion as a VCS and
code.google.com for hosting).
- Tesseract now requires leptonica 1.71 or a higher version.
- Removed official support for VS 2008.
- Added support for 39 additional scripts/languages, including:
amh, asm, aze_cyrl, bod, bos, ceb, cym, dzo, fas, gle, guj, hat,
iku, jav, kat, kat_old, kaz, khm, kir, kur, lao, lat, mar, mya,
nep, ori, pan, pus, san, sin, srp_latn, syr, tgk, tir, uig, urd,
uzb, uzb_cyrl, yid
- Major updates to training system as a result of extensive
testing on 100 languages.
- New training data for over 100 languages
- Improved performance with PIC compilation option.
- Significant change to invisible font system in pdf output to
improve correctness and compatibility with external programs,
particularly ghostscript.
- Improved font identification.
- Major change to improve layout analysis for heavily diacritic
languages: Thai, Vietnamese, Kannada, Telugu etc.
- Fixed problems with shifted baselines so recognition can recover
from layout analysis errors.
- Major refactor to improve speed on difficult images, especially
when running a heap checker.
- Moved params from global in page layout to tesseractclass.
- Improved single column layout analysis.
- Allow ocr output to multiple formats using tesseract command
line executable.
- Fixed issues with mixed eng+ara scripts.
- Improved script consistency in numbers.
- Major refactor of control.cpp to enable line recognition.
- Added tesstrain.sh - a master training script.
- Added ability to text2image training tool to just list available
fonts.
- Added ability to text2image to underline words.
- Improved efficiency of image processing for PDF output.
- Added parameter description for each parameter listed with
'print-parameters' command line option.
- Added font info to hOCR output.
- Enabled streaming input and output of multi-page documents.
- Many bug fixes.
2014-02-04 - V3.03(rc1)
- Added new training tool text2image to generate box/tif file
pairs from text and truetype fonts.
- Added support for PDF output with searchable text.
- Removed entire IMAGE class and all code in image directory.
- Tesseract executable: support for output to stdout; limited
support for one
page images from stdin (especially on Windows)
- Added Renderer to API to allow document-level processing and
output of document formats, like hOCR, PDF.
- Major refactor of word-level recognition, beam search,
eliminating dead code.
- Refactored classifier to make it easier to add new ones.
- Generalized feature extractor to allow feature extraction from
greyscale.
- Improved sub/superscript treatment.
- Improved baseline fit.
- Added set_unicharset_properties to training tools.
- Many bug fixes.
- More training source data included.
Problems found with existing digests:
Package fotoxx distfile fotoxx-14.03.1.tar.gz
ac2033f87de2c23941261f7c50160cddf872c110 [recorded]
118e98a8cc0414676b3c4d37b8df407c28a1407c [calculated]
Package ploticus-examples distfile ploticus-2.00/plnode200.tar.gz
34274a03d0c41fae5690633663e3d4114b9d7a6d [recorded]
da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
Problems found locating distfiles:
Package AfterShotPro: missing distfile AfterShotPro-1.1.0.30/AfterShotPro_i386.deb
Package pgraf: missing distfile pgraf-20010131.tar.gz
Package qvplay: missing distfile qvplay-0.95.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
* Moved ResultIterator/PageIterator to ccmain.
* Added Right-to-left/Bidi capability in the output iterators for Hebrew/Arabic.
* Added paragraph detection in layout analysis/post OCR.
* Fixed inconsistent xheight during training and over-chopping.
* Added simultaneous multi-language capability.
* Refactored top-level word recognition module.
* Added experimental equation detector.
* Improved handling of resolution from input images.
* Blamer module added for error analysis.
* Cleaned up externally used namespace by removing includes from baseapi.h.
* Removed dead memory mangagement code.
* Tidied up constraints on control parameters.
* Added support for ShapeTable in classifier and training.
* Refactored class pruner.
* Fixed training leaks and randomness.
* Major improvements to layout analysis for better image detection, diacritic detection, better textline finding, better tabstop finding.
* Improved line detection and removal.
* Added fixed pitch chopper for CJK.
* Added UNICHARSET to WERD_CHOICE to make mult-language handling easier.
* Fixed problems with internally scaled images.
* Added page and bbox to string in tr files to identify source of training data better.
* Fixes to Hindi Shiroreka splitter.
* Added word bigram correction.
* Reduced stack memory consumption and eliminated some ugly typedefs.
* Added new uniform classifier API.
* Added new training error counter.
* Fixed endian bug in dawg reader.
* Many other fixes, including the way in which the chopper finds chops and messes with the outline while it does so.
June 30 2009 - V2.04
Integrated bug fixes and patches and misc changes for portability.
Integrated a patch to remove some of the "access" macros.
Removed dependence on lua from the viewer, speeding it up
dramatically.
Fixed the viewer so it compiles and runs properly!
Specifically fixing issues: 1, 63, 67, 71, 76, 81, 82, 106, 111,
112, 128, 129, 130, 133, 135, 142, 143, 145, 147, 153, 154, 160,
165, 170, 175, 177, 187, 192, 195, 199, 201, 205, 209, 108, 169