3d65407141
Change-Id: I42747dffef099f3806178af76e20335f5f033379 Reviewed-on: https://gerrit.libreoffice.org/606 Reviewed-by: Miklos Vajna <vmiklos@suse.cz> Tested-by: Miklos Vajna <vmiklos@suse.cz>
27 lines
864 B
Diff
27 lines
864 B
Diff
--- 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;
|
|
}
|