mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
More proper fix for issue #196
This commit is contained in:
@@ -697,7 +697,7 @@ static int IsLetterGroup(Translator *tr, char *word, int group, int pre)
|
||||
|
||||
p = tr->letterGroups[group];
|
||||
if (p == NULL)
|
||||
return 0;
|
||||
return -1;
|
||||
|
||||
while (*p != RULE_GROUP_END) {
|
||||
if (pre) {
|
||||
@@ -1762,7 +1762,7 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
|
||||
letter_group = LetterGroupNo(rule++);
|
||||
if ((n_bytes = IsLetterGroup(tr, post_ptr-1, letter_group, 0)) >= 0) {
|
||||
add_points = (20-distance_right);
|
||||
if (n_bytes > 0) // move pointer, if non-zero length group was found
|
||||
if (n_bytes >= 0) // move pointer, if group was found
|
||||
post_ptr += (n_bytes-1);
|
||||
} else
|
||||
failed = 1;
|
||||
@@ -1970,8 +1970,8 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
|
||||
letter_group = LetterGroupNo(rule++);
|
||||
if ((n_bytes = IsLetterGroup(tr, pre_ptr, letter_group, 1)) >= 0) {
|
||||
add_points = (20-distance_right);
|
||||
if (n_bytes > 0) // move pointer, if non-zero length group was found
|
||||
pre_ptr -= (n_bytes-1);
|
||||
if (n_bytes >= 0) // move pointer, if group was found
|
||||
pre_ptr -= (n_bytes-1);
|
||||
} else
|
||||
failed = 1;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user