Złożone emoji - wartości testowe
Znaki spoza podstawowej płaszczyzny i złożone sekwencje, które psują liczenie i obcinanie. 12 wartości, każda z tym, co psuje, i z tym, co zamiast tego robi poprawna aplikacja.
Wpisuj je po jednej skrótem AltShiftN
w palecie albo weź wszystkie do skryptu poleceniem nkb emit emoji-complex.
Emoji rodziny złożone łącznikami
emoji-complex/emoji-family-zwj
👨👩👧
👨\u200D👩\u200D👧
- 2 znaki o zerowej szerokości
- 1 grafem
- 5 punktów kodowych
- 18 bajtów
- 8 jednostek UTF-16
- Co psuje
- Dla użytkownika jeden obrazek, dla programu trzy znaki i dwa niewidoczne łączniki. Obcinanie tnie go na niezwiązane ze sobą obrazki.
- Co robi poprawna aplikacja
- Liczony i obcinany jako jedna całość albo odrzucony - nigdy nie rozcinany między łącznikami.
Emoji z odcieniem skóry
emoji-complex/emoji-skin-tone
👍🏽
👍🏽
- 1 grafem
- 2 punkty kodowe
- 8 bajtów
- 4 jednostki UTF-16
- Co psuje
- Znak bazowy i modyfikator: cięcie między nimi zmienia znaczenie wartości.
- Co robi poprawna aplikacja
- Każde obcinanie zostawia je razem.
Jedynka na klawiszu
emoji-complex/emoji-keycap
1⃣
1\uFE0F⃣
- 1 znak o zerowej szerokości
- 1 grafem
- 3 punkty kodowe
- 7 bajtów
- 3 jednostki UTF-16
- Co psuje
- Cyfra, selektor wariantu i znak łączący, które razem rysują się jako jeden klawisz. Sama cyfra to liczba.
- Co robi poprawna aplikacja
- Zachowany jako całość, a nie odczytywany jako liczba jeden.
Serce z selektorem wariantu
emoji-complex/emoji-variation
❤
❤\uFE0F
- 1 znak o zerowej szerokości
- 1 grafem
- 2 punkty kodowe
- 6 bajtów
- 2 jednostki UTF-16
- Co psuje
- Selektor wariantu decyduje, czy znak rysuje się jako obrazek, czy jako tekst. Usunięcie go po cichu zmienia wygląd.
- Co robi poprawna aplikacja
- Zachowany przy zapisie, żeby wartość wyglądała tak samo po zapisie i odczycie.
Flaga kraju
emoji-complex/flag-country
🇵🇱
🇵🇱
- 1 grafem
- 2 punkty kodowe
- 8 bajtów
- 4 jednostki UTF-16
- Co psuje
- Flaga to dwa znaki wskaźników regionalnych. Pole ograniczone do dwóch znaków ją przyjmie, a ograniczone do jednego ją rozetnie.
- Co robi poprawna aplikacja
- Liczona jako jedna całość przy limitach długości.
Emoji w środku imienia i nazwiska
emoji-complex/emoji-in-middle
Jan😀Kowalski
Jan😀Kowalski
- 12 grafemów
- 12 punktów kodowych
- 15 bajtów
- 13 jednostek UTF-16
- Co psuje
- Znak spoza podstawowej płaszczyzny w imieniu i nazwisku psuje bazy skonfigurowane na wąskie kodowania, często z surowym komunikatem błędu.
- Co robi poprawna aplikacja
- Zapisany bez zmian albo odrzucony z czytelnym komunikatem.
Ideogram spoza podstawowej płaszczyzny
emoji-complex/astral-cjk
𠮷
𠮷
- 1 grafem
- 1 punkt kodowy
- 4 bajty
- 2 jednostki UTF-16
- Co psuje
- Rzadki ideogram spoza podstawowej płaszczyzny: ten sam problem z zapisem, choć nie wygląda jak emoji.
- Co robi poprawna aplikacja
- Obsłużony dokładnie tak jak każdy inny znak.
Pięćdziesiąt emoji
emoji-complex/emoji-50
50 × 😀
- 50 grafemów
- 50 punktów kodowych
- 200 bajtów
- 100 jednostek UTF-16
- Co psuje
- Dla użytkownika pięćdziesiąt znaków, dla bazy dwieście bajtów. Rozjazd między limitami wychodzi tu najwcześniej.
- Co robi poprawna aplikacja
- Limity podane w tej samej jednostce po obu stronach.
Pojedyncze emoji
emoji-complex/emoji-only
😀
😀
- 1 grafem
- 1 punkt kodowy
- 4 bajty
- 2 jednostki UTF-16
- Co psuje
- Nazwa albo tytuł złożone wyłącznie z obrazka. Sortowanie, inicjały i wyszukiwanie muszą coś z tym zrobić.
- Co robi poprawna aplikacja
- Przyjęte i wyświetlone, a sortowanie i inicjały zachowują się przewidywalnie.
Łącznik bez niczego do łączenia
emoji-complex/zwj-orphan
JanKowalski
Jan\u200DKowalski
- 1 znak o zerowej szerokości
- 11 grafemów
- 12 punktów kodowych
- 14 bajtów
- 12 jednostek UTF-16
- Co psuje
- Łącznik, który nie ma czego łączyć: niewidoczny, bez znaczenia i wystarczający, żeby dwa identyczne nazwiska były różne.
- Co robi poprawna aplikacja
- Usuwany przy zapisie albo zachowany i pokazany w interfejsie.
Emoji w nazwie pliku
emoji-complex/emoji-in-filename
report😀.txt
report😀.txt
- 11 grafemów
- 11 punktów kodowych
- 14 bajtów
- 12 jednostek UTF-16
- Co psuje
- Archiwa, przesyłanie plików i starsze systemy plików obsługują takie nazwy niekonsekwentnie.
- Co robi poprawna aplikacja
- Zapisany i pobierany z nienaruszoną nazwą albo odrzucony, zanim plik powstanie.
Tysiąc emoji
emoji-complex/emoji-1000
1 000 × 😀
- 1 000 grafemów
- 1 000 punktów kodowych
- 4 000 bajtów
- 2 000 jednostek UTF-16
- Co psuje
- Tysiąc obrazków: rysowanie, przewijanie i każdy licznik długości naraz.
- Co robi poprawna aplikacja
- Przyjęte i przycięte w układzie albo odrzucone z podanym limitem.