Commit Graph

184 Commits

Author SHA1 Message Date
Stefan Weil
6ec1a0a09b fileio: Replace assert with tprintf() and exit(1)
Assertions are good for programming errors, but not for wrong user input.

The new code no longer needs File::ReadFileToStringOrDie, so remove that
method.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-08-30 07:13:56 +02:00
Stefan Weil
1950fec7a2 tlog: Remove unused macro TLOG_FATAL
The implementation was also wrong because it did not use __VA_ARGS__.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-08-29 19:11:01 +02:00
Stefan Weil
3420acabe5 text2image: Add linefeed to error message
This changes the error message for a missing font from

  Could not find font named Times New Roman.Please correct --font arg.

(missing space after first sentence) to

  Could not find font named Times New Roman.
  Please correct --font arg.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-08-28 21:33:52 +02:00
Stefan Weil
34ed8ddf62 stringrenderer: Fix compiler warning (-Wwrite-strings)
gcc reported this warning:

../training/stringrenderer.cpp:
 In member function ‘void tesseract::StringRenderer::SetLayoutProperties()’:
../training/stringrenderer.cpp:211:42: warning:
 ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
     set_features("liga, clig, dlig, hlig");
                                          ^
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-08-28 14:07:03 +02:00
zdenop
939023ffb9 Merge pull request #391 from vidiecan/issue_390
fixed #390 by introducing new rotate_image flag
2016-08-15 20:04:30 +02:00
jm
b69561c802 fixed #390 by introducing new rotate_image flag 2016-08-15 18:16:35 +02:00
jm
941e1c4c84 fixes #388 by using raw bytes utf8 encoding 2016-08-15 18:11:01 +02:00
jm
8d2d94e4ed fixes some of the windows issue with text2image, see #380 2016-08-05 20:11:01 +02:00
zdenop
5ca73cca26 Merge pull request #355 from amitdo/pango-name-is-empty
Check that pango's suggested font name is not an empty string
2016-06-20 10:26:11 +02:00
Stefan Weil
ed053aab94 Fix Cygwin compatibility – part III
Commit 65504c8cd2 misplaced the #endif.
The definition of _GNU_SOURCE is only needed for Cygwin.

Defining _GNU_SOURCE on Linux results in compiler warnings because this
macro is already defined by the compiler.

Fix this by moving the #endif to the right place. In addition the code
for Cygwin is made more robust: If a future Cygwin compiler defines
_GNU_SOURCE, too, the code will still work.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-06-19 22:38:03 +02:00
amitdo
724fb894ac Check that pango's suggested font name is not an empty string
On msys2 pango seems to always returns empty string for the suggested
font. It's a good idea to check that the string is not empty before
printing it - on all platforms.
2016-06-19 13:40:17 +03:00
Amit
96720c785d Merge pull request #351 from amitdo/cygwin-compat
Fix Cygwin compatibility
2016-06-19 12:43:35 +03:00
Stefan Weil
65504c8cd2 Fix Cygwin compatibility - Part II 2016-06-19 11:59:58 +03:00
Amit Dovev
13d789d4df Merge pull request #288 from nickjwhite/opentypeligatures
Enable all ligatures available in a font for text2image rendering
2016-06-19 03:33:32 +03:00
Amit Dovev
034d666e7a Replace use of TLOG_FATAL() with tprintf() and exit(1) (#349)
Asserts should not be used for missing or invalid input in the command
line! This leads to a bad UX.
2016-06-16 12:10:53 +03:00
Shreeshrii
c3a7fab349 Replace asserts with tprintf() and exit(1)
Asserts should not be used for missing or invalid input in the command
line! This leads to a bad UX.
2016-06-14 14:35:05 +03:00
amitdo
cd1a14450c Training tools: Print help message when (argv == 1) 2016-05-22 11:16:42 +03:00
Zdenko Podobný
cab6de1740 remove unused GlyphLessFont files 2016-05-20 21:19:00 +02:00
Nick White
76ed9decb3 Only enable extra ligatures with recent Pango versions
Pango's opentype feature selection functions are only available
from version 1.38+, which is still quite new, so ensure it's just
ignored if using an older version.
2016-03-21 13:03:03 +00:00
Nick White
9100adcbde Enable all ligatures available in a font for text2image rendering
This enables all OpenType ligatures for a specific font, where
available. Specifically, it explicitly enables the OpenType
features liga (standard ligatures), hlig (historical ligatures),
clig (contextual ligatures), and dlig (discretionary ligatures).

This feature requires Pango 1.38 or newer.
2016-03-21 11:41:36 +00:00
Amit Dovev
96c2f637fd Add missing % char from format specifier in tlog()
- In training/ango_font_info.cpp
2016-03-17 01:09:46 +02:00
Egor Pugin
4d4bfb552c Add inactivity timeout for icu download on windows 2016-03-04 12:34:01 +03:00
Ryan Baumann
bd5452d40c Add Junicode to neo-Latin fonts 2016-01-13 10:15:57 -05:00
Ryan Baumann
5b40277d08 Use different font list and exposures for "lat" language training 2016-01-04 11:48:02 -05:00
Hamid Safdari
0cd6e17419 correct minor syntax errors language-specific.sh 2015-12-25 09:50:15 +04:30
Egor Pugin
c16c7831a2 Merge branch 'master' of github.com:tesseract-ocr/tesseract 2015-11-30 11:43:18 +03:00
Egor Pugin
f15cd961c6 Download icu on windows to build set_unicharset_properties target. 2015-11-30 11:43:01 +03:00
zdenop
d025616af5 Merge pull request #148 from nickjwhite/tesstrainbetterargs
Use shell quoting rather than pluses to separate font arguments in tesstrain.sh
2015-11-27 21:56:40 +01:00
zdenop
359593217b Merge pull request #149 from nickjwhite/updategrc
Add defaults for grc training to language-specific.sh
2015-11-27 21:55:46 +01:00
Stefan Weil
29f36d9264 training: Fix typos in comments and strings
All of them were found by codespell.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-11-04 21:58:42 +01:00
Stefan Weil
38f3db8ca5 Fix more typos in comments (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-11-04 21:58:42 +01:00
Nick White
306610c5ec Use shell quoting rather than pluses to separate font arguments in tesstrain.sh
The way tesstrain.sh handled font names was really weird, using '+'
signs as a delimiter. However quoting arguments is a much more
straightforward, standard and sensible way to do things.

So whereas previously one would have used this:
  --fontlist Times New Roman + Arial Black
Now they should be specified like this:
  --fontlist "Times New Roman" "Arial Black"
2015-10-30 13:26:45 +00:00
zdenop
896db80f26 Merge pull request #108 from johnteslade/unicharset_extractor
Unicharset extractor problems with wchar
2015-10-05 21:49:03 +02:00
John Slade
379da1f2e0 training/unicharset_extractor.cpp: Print whether WCTYPE is included
Character properties are autogenerated only if wctype is found on the
system.  However, it is not possible to know if a version of
unicharset_extractor was compiled with this support (especially if it
was installed as a pre-compiled binary).

This commit adds a print to the usage details to output if the binary
was compiled with wctype support.
2015-10-05 11:54:24 +01:00
Egor Pugin
f369585f56 Merge branch 'master' of github.com:tesseract-ocr/tesseract 2015-10-02 12:02:04 +03:00
Nick White
b389e2782c Set default exposure settings for grc training 2015-09-11 13:30:05 +01:00
Nick White
ac6050def0 Remove NUMBER_DAWG_FACTOR and WORD_DAWG_FACTOR from grc rules
These aren't used anywhere, and are difficult to calculate for grc,
so leave them as the default.
2015-09-11 09:29:55 +01:00
zdenop
b216f6f66b Merge pull request #92 from nickjwhite/bettertesstrain
Improve tesstrain.sh script
2015-09-10 19:00:26 +02:00
Nick White
714d2cc4ae Use different font list for grc training
This font list contains a selection fonts produced by the Greek Font
Society <http://greekfontsociety.gr>, and is the result of testing
with a large corpus of a variety of scanned works.
2015-09-10 15:34:44 +01:00
Nick White
de789ac8ea Use mktemp to create workspace directory
mktemp is a better idea for security, as well as enabling users to
specify a different directory using the TMPDIR environment variable,
which is useful if /tmp is a small tmpfs.

Also fix a bug where the first few log messages were failing as the
workspace directory wasn't been created early enough.
2015-09-10 15:05:07 +01:00
Nick White
c0133ecfa6 Add --exposures option to tesstrain.sh
This flag can be used to specify multiple different exposure levels
for a training. There was some code already in tesstrain_utils.sh
to deal with multiple exposure levels, so it looks like this
functionality was always intended.

The default usage does not change, with exposure level 0 being the
only one used if --exposures is not used.
2015-09-10 14:57:17 +01:00
Egor Pugin
25136e40ea Restore ICU_INCLUDE_DIRS for OS X. 2015-09-07 13:02:22 +03:00
Egor Pugin
670e0fafb3 Hide pango and cairo includes from targets that do not use it. 2015-09-07 12:49:08 +03:00
Egor Pugin
da3852dc77 Fix cygwin build. 2015-09-07 02:49:18 +03:00
Egor Pugin
c0d8a07b9d Fix a lot of training tool to work on windows with static build. 2015-09-07 01:46:33 +03:00
Egor Pugin
03531ba8a5 Fix linux build. 2015-09-06 20:43:28 +03:00
Egor Pugin
5e3b8d33e3 Add source groups. 2015-09-06 13:47:30 +03:00
Nick White
8e71c79dc2 Remove --bin_dir option from tesstrain.sh (should use $PATH instead)
The --bin_dir option to tesstrain.sh is not useful, as $PATH does the
same job much better, so switch to relying on that instead.

This also makes the code a bit more readable, as it removes the need
to refer to binaries as COMMAND_NAME_EXE rather than just command_name.
2015-08-26 18:49:14 +01:00
Nick White
e110b14465 tesstrain.sh: Initialise fontconfig even if Arial isn't available
The fontconfig initialisation hardcodes using Arial. However it may
not be available, whereas the fonts being used later will be, so use
one of them for initialisation instead.
2015-08-26 18:32:44 +01:00
Nick White
422c424995 tesstrain.sh: Only set FONTS if they weren't set on the command line
Previously the fonts specified in language-selection.sh would override
any specified on the command line.

This changes language-specific.sh from overriding a user request to
just setting the default fonts if none are specified with --fontlist.
2015-08-26 18:24:14 +01:00