3972: Mark the inverted exclamation mark as confusable with i r=def- a=heinrich5991

They look pretty much the same in our font, but for some reason, the
inverted exclamation mark doesn't have confusables.

Reported by Skeith:
![image](https://user-images.githubusercontent.com/366230/127077234-7959852b-721b-4b2a-ad2e-98b54e8cd9b8.png)
![image](https://user-images.githubusercontent.com/366230/127077239-b0b55e0d-e1dc-4d57-ae8b-f4bfecf7bc76.png)


## Checklist

- [ ] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [x] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
This commit is contained in:
bors[bot] 2021-07-27 06:35:39 +00:00 committed by GitHub
commit 3d3c190cd4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8177 additions and 8085 deletions

View file

@ -26,6 +26,7 @@ def generate_decompositions():
ignore = category("C") | category("M") | category("Z")
con[0x006C] = [0x0069] # LATIN SMALL LETTER L -> LATIN SMALL LETTER I
con[0x00A1] = [0x0069] # INVERTED EXCLAMATION MARK -> LATIN SMALL LETTER I
con[0x2800] = [] # BRAILLE PATTERN BLANK
con[0xFFFC] = [] # OBJECT REPLACEMENT CHARACTER

File diff suppressed because it is too large Load diff

View file

@ -59,6 +59,7 @@ TEST(Str, Utf8CompConfusables)
EXPECT_TRUE(str_utf8_comp_confusable("abc", "abc") == 0);
EXPECT_TRUE(str_utf8_comp_confusable("rn", "m") == 0);
EXPECT_TRUE(str_utf8_comp_confusable("l", "ӏ") == 0); // CYRILLIC SMALL LETTER PALOCHKA
EXPECT_TRUE(str_utf8_comp_confusable("i", "¡") == 0); // INVERTED EXCLAMATION MARK
EXPECT_FALSE(str_utf8_comp_confusable("o", "x") == 0);
EXPECT_TRUE(str_utf8_comp_confusable("aceiou", "ąçęįǫų") == 0);
}