| --- misc//hyphen-2.8.4/hyphen.c |
| +++ misc/build/hyphen-2.8.4/hyphen.c |
| @@ -734,13 +734,13 @@ |
| int hnj_hyphen_rhmin(int utf8, const char *word, int word_size, char * hyphens, |
| char *** rep, int ** pos, int ** cut, int rhmin) |
| { |
| - int i = 1; |
| + int i = 0; |
| int j; |
| |
| // ignore numbers |
| for (j = word_size - 1; j > 0 && word[j] <= '9' && word[j] >= '0'; j--) i--; |
| |
| - for (j = word_size - 2; i < rhmin && j > 0; j--) { |
| + for (j = word_size - 1; i < rhmin && j > 0; j--) { |
| // check length of the non-standard part |
| if (*rep && *pos && *cut && (*rep)[j]) { |
| char * rh = strchr((*rep)[j], '='); |
| @@ -753,7 +753,7 @@ |
| } else { |
| hyphens[j] = '0'; |
| } |
| - if (!utf8 || (word[j] & 0xc0) != 0xc0) i++; |
| + if (!utf8 || (word[j] & 0xc0) == 0xc0 || (word[j] & 0x80) != 0x80) i++; |
| } |
| return 0; |
| } |