MatchRule: Support multibyte doubled letters

When matching a double-letter whose encoding needs multiple bytes, to
properly skip the double-letter we have to skip these bytes, like other
rules.
This commit is contained in:
Samuel Thibault
2022-03-20 21:50:43 +01:00
parent a9f48fdb15
commit caf8e650c2
+6 -4
View File
@@ -1810,9 +1810,10 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
failed = 1;
break;
case RULE_DOUBLE:
if (letter_w == last_letter_w)
if (letter_w == last_letter_w) {
add_points = (21-distance_right);
else
post_ptr += letter_xbytes;
} else
failed = 1;
break;
case RULE_DOLLAR:
@@ -2004,9 +2005,10 @@ static void MatchRule(Translator *tr, char *word[], char *word_start, int group_
failed = 1;
break;
case RULE_DOUBLE:
if (letter_w == last_letter_w)
if (letter_w == last_letter_w) {
add_points = (21-distance_left);
else
pre_ptr -= letter_xbytes;
} else
failed = 1;
break;
case RULE_DIGIT: