Browse Source

More proper fix for issue #196

master
Valdis Vitolins 8 years ago
parent
commit
17168a5669
1 changed files with 4 additions and 4 deletions
  1. 4
    4
      src/libespeak-ng/dictionary.c

+ 4
- 4
src/libespeak-ng/dictionary.c View File



p = tr->letterGroups[group]; p = tr->letterGroups[group];
if (p == NULL) if (p == NULL)
return 0;
return -1;


while (*p != RULE_GROUP_END) { while (*p != RULE_GROUP_END) {
if (pre) { if (pre) {
letter_group = LetterGroupNo(rule++); letter_group = LetterGroupNo(rule++);
if ((n_bytes = IsLetterGroup(tr, post_ptr-1, letter_group, 0)) >= 0) { if ((n_bytes = IsLetterGroup(tr, post_ptr-1, letter_group, 0)) >= 0) {
add_points = (20-distance_right); 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); post_ptr += (n_bytes-1);
} else } else
failed = 1; failed = 1;
letter_group = LetterGroupNo(rule++); letter_group = LetterGroupNo(rule++);
if ((n_bytes = IsLetterGroup(tr, pre_ptr, letter_group, 1)) >= 0) { if ((n_bytes = IsLetterGroup(tr, pre_ptr, letter_group, 1)) >= 0) {
add_points = (20-distance_right); 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 } else
failed = 1; failed = 1;
break; break;

Loading…
Cancel
Save