Commit Graph
3535 Commits
Author SHA1 Message Date
Reece H. Dunn bd76404a75 docs (style): Use 'eSpeak NG' instead of 'eSpeakNG'. 2018-03-29 18:38:42 +01:00
Reece H. Dunn 797fb4538a Merge remote-tracking branch 'valdisvi/master' 2018-03-29 18:35:24 +01:00
Valdis Vitolins 084fb83af9 doc: update Mbrola configuration details 2018-03-29 09:48:11 +03:00
Reece H. Dunn 87b67c2c9b tests: test hr consonant and vowel audio generation 2018-03-29 07:46:55 +01:00
Reece H. Dunn 3caa3bbae2 Merge remote-tracking branch 'rhdunn/master' 2018-03-28 07:25:23 +01:00
Reece H. Dunn 223ff9c8ad en: use '@' instead of 'I' for the ROSES vowel in en and en-GB. 2018-03-28 07:25:15 +01:00
Reece H. Dunn 1a831ddac3 tests: add 'divided' to the English language pronunciation tests. 2018-03-28 07:08:54 +01:00
Reece H. Dunn 6d25013c94 CompileReport: Don't generate a report if there are no references. [msvc /analyze] 2018-03-27 12:59:51 +01:00
Reece H. Dunn 36c29c479a LookupDict2: Check if flags is not null before setting it. [msvc /analyze] 2018-03-27 12:55:18 +01:00
Reece H. Dunn 0d801f0c88 tests: test hi consonant and vowel audio generation 2018-03-27 08:06:47 +01:00
Reece H. Dunn e477e06930 en: use the 'add e' logic for the -edly suffix (allegedly, reputedly, etc.). 2018-03-27 07:27:45 +01:00
Reece H. Dunn 28f700e829 en: fix resignedly, manoeuvred, reckon, Frances (name), and sponging. 2018-03-26 07:31:51 +01:00
Reece H. Dunn a29d3f642c Test my and ka handling of long emoji names, and number pronunciation previously broken by that support. 2018-03-25 16:16:48 +01:00
Reece H. Dunn 9344dab0c3 Revert "maintainability: pass seq_len_adjust to LookupSpect() instead of using globals"
This reverts commit d08b8e43ca.

This commit causes gcc-4.8 to output a different SHA1 hash on the
language-phonemes test for `af` (the first language tested). It
does not break on clang or on gcc-7 so may be a compiler bug,
however the Travis CI build server is using it on Ubuntu Trusty
(14.04 LTS) and so may other older OSes.
2018-03-25 13:34:52 +01:00
Reece H. Dunn 566e904b33 LookupDict2: Fix searching entries longer than 128
This is a fix for https://github.com/nvaccess/nvda/issues/7740.

With the addition of emoji support, dictionary entries can now be
longer than 128 bytes. This fix makes sure the character is
interpreted as an unsigned byte so it does not treat long entries
as having a negative offset.

Treating the offset as a signed byte (like in the previous code)
could cause the hash chain search to loop indefinitely when
processing certain input, like the Tamil characters in the NVDA
issue noted above that is added as a test case to translate.test.
2018-03-25 12:52:22 +01:00
Juho Hiltunen 839f727a24 headers: move WordToString() to synthesize.h 2018-03-25 12:41:26 +03:00
Juho Hiltunen 9174a2045e maintainability: remove unused externs 2018-03-25 12:41:11 +03:00
Juho Hiltunen f0c345eb6a maintainability: pass n_ph_list2 and ph_list2 to MakePhonemeList() and SubstitutePhonemes() instead of using globals 2018-03-25 12:41:05 +03:00
Juho Hiltunen d08b8e43ca maintainability: pass seq_len_adjust to LookupSpect() instead of using globals 2018-03-25 12:41:01 +03:00
Juho Hiltunen b23e8a7269 maintainability: pass Translator as to towlower2() instead of using a global 2018-03-25 12:40:57 +03:00
Reece H. Dunn b7a8751f4d Remove a redundant comment -- history is available in git. 2018-03-24 14:32:43 +00:00
Juho Hiltunen f73ebfd126 maintainability: pass current_alphabet as argument to TranslateLetter() instead of using global 2018-03-24 15:05:53 +02:00
Juho Hiltunen d196d93ed5 maintainability: move variables to files where they are used, allowing removal of unnecessary extern declarations 2018-03-24 15:05:23 +02:00
Juho Hiltunen 1bad240de8 maintainability: remove some unused variables and unnecessary extern declarations 2018-03-24 15:03:48 +02:00
Juho Hiltunen c4ec7bfe34 remove option_phoneme_variants that is never set and always evaluates true 2018-03-24 15:03:12 +02:00
Juho Hiltunen 7ee0d7905c remove unused int option_tone2
It is set in voices.c but never used. docs/voices.md indicates that the keyword intonation only takes one parameter, confirming that option_tone2 is unused.
2018-03-24 14:25:50 +02:00
Reece H. Dunn c5fb29d66c Update the CHANGELOG.md file. 2018-03-23 08:03:44 +00:00
Reece H. Dunn 5555eb939f tests: test hak consonant and vowel audio generation 2018-03-23 07:21:40 +00:00
Reece H. Dunn 639ee7e0f8 tests: test gu consonant and vowel audio generation 2018-03-23 07:11:16 +00:00
Reece H. Dunn 7dbf87255d Release the memory in text in fuzzrunner.c. 2018-03-22 20:54:05 +00:00
Reece H. Dunn dfe66289c8 Don't set final_ph2 to before phonetic in the stack if ix=1. 2018-03-22 20:52:28 +00:00
Reece H. Dunn 2d7f3e9d54 Don't skip blanks past charix_top in TranslateClause. 2018-03-22 20:49:15 +00:00
Reece H. Dunn 7dad0dfd40 Prevent TranslateRoman reading stack data from Lookup. 2018-03-22 20:12:35 +00:00
Reece H. Dunn b24db06a84 Copy name to tr->dictionary_name if not equal
This is a similar change to b60d2452c3.
In this case, it is when tr->dictionary_name is passed as the name
parameter in LoadDictionary.

This happens in the SetTranslator2 function when loading the
dictionary for the second language translator object.
2018-03-22 19:48:56 +00:00
Reece H. Dunn bb19c7a336 Release the memory allocated by p_text in espeak-ng.c. 2018-03-22 19:37:25 +00:00
Reece H. Dunn 062cb8dfc9 Merge remote-tracking branch 'valdisvi/master' 2018-03-22 19:09:29 +00:00
Reece H. Dunn 879cb9c08a Don't free 'tr' if null in DeleteTranslator. 2018-03-22 19:01:59 +00:00
Valdis Vitolins c3d537db56 Add link to online testing 2018-03-22 11:09:08 +02:00
Valdis Vitolins ad1fa7f25f Expose SpectSeqCreate(), SpectSeqDestroy() and LoadSpectSeq() functions for eSpeakNG Java Editor 2018-03-22 10:25:13 +02:00
Reece H. Dunn d23735ae1b Release the translator memory in espeak{_ng,}_Terminate. 2018-03-22 07:26:22 +00:00
Reece H. Dunn 87a2586bb0 Fix formatting of free_rules. 2018-03-22 07:19:26 +00:00
Reece H. Dunn 444e4544d2 Simplify the !v comparison and check PATHSEP
SetVoiceStack looks for "!v" in variant_name and skips the first
three characters if "!v" is found. The problem here is that it
does not check that the third character is the path separator, so
may advance into unknown memory if variant_name is exactly "!v".

This fixes that problem by checking for the path separator. It
also simplifies the logic by checking the bytes explicitly.

NOTE: This is not strictly needed, as the only code paths this is
relevant for is in espeak_ng_SetVoiceByName, and the variant name
comes from ExtractVoiceVariantName, which sets up the variant name
correctly.
2018-03-21 21:35:26 +00:00
Reece H. Dunn c9ca77a4d4 Compare variant_name with "!v" only if long enough
Various places call SetVoiceStack with "" for the variant_name. This
causes -fsanitize=address to fail with an overflow as the call to
memcmp is checking the first 2 bytes, and there is only 1 byte
available.
2018-03-21 21:16:08 +00:00
Reece H. Dunn a08d2c7bfb Ensure the allocated rules are properly cleaned up in compile_dictrules. 2018-03-21 20:58:55 +00:00
Reece H. Dunn b60d2452c3 Copy name in LoadDictionary if not dictionary_name
compiledict.c sets dict_name to dictionary_name if dict_name is
not set, and passes that to LoadDictionary. LoadDictionary then
copies the passed in name to dictionary_name.

This causes -fsanitize=address to fail with overlapping memory
addresses passed to strncpy (copying the string to itself). As
such, don't copy the name in this case.
2018-03-21 20:37:44 +00:00
Reece H. Dunn cd17e7c935 docs: remove the references to Z-SAMPA.
Z-SAMPA is a more complex specification than Kirshenbaum, X-SAMPA,
and CXS. Additionally, it specifies phonemes such as palatal and
velar trills that are not defined by IPA and in the context of the
velar trill is marked as being impossible.

As such, Z-SAMPA will not be supported in eSpeak NG for now. That
may change in the future once support for the other transcription
schemes has been implemented.
2018-03-21 07:56:39 +00:00
Reece H. Dunn e5ebf76722 docs: Use 'subtag' instead of 'tag' to correctly refer to BCP47 variant and private use names. 2018-03-20 07:30:57 +00:00
Sascha Brawer 8aa4521d31 Make phoneme properties unsigned
Fixes two sanitizer warnings:

```
src/libespeak-ng/compiledata.c:2291:27: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
src/libespeak-ng/compiledata.c:2424:34: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
```
2018-03-20 02:29:32 +01:00
Reece H. Dunn 0d9c91bac9 Pass AM_CFLAGS to ssml-fuzzer.test. 2018-03-19 22:12:33 +00:00
Reece H. Dunn d5c52ab39f Fix building ssml-fuzzer with libFuzzer. 2018-03-19 21:50:08 +00:00