as I am looking at the 'Hyphen 2.6' library (great library, btw!), I am wondering about a particular line in the code within the hnj_hyphen_rhmin() function:
if (!utf8 || (word[j] & 0xc0) != 0xc0) i++;
This increments i in all cases, except if the current character is a UTF-8 multi-byte sequence starting character. Shouldn't this rather be
if (!utf8 || (word[j] & 0xc0) != 0xc80) i++;
i.e., rather "skipping" multi-byte follow-up characters in the counting. This would also mirror the corresponding line in hnj_hyphen_lhmin().
Or am I misunderstanding the intent here?