Unicode zawiera różne znaki, które wyglądają jak typograficznie stylizowane warianty znaków podstawowego alfabetu łacińskiego i które pozwalają na pisanie tekstów w odpowiednich stylach typograficznych bez uciekania się do znaczników lub podobnych. Na przykład można symulować:
Małe czapki:
ꜰᴀɴᴄɪʟ ᴛʜɪꜱ ꜰᴀɴᴄɪʟy ᴇɴᴄᴏᴅᴇᴅ ᴛᴇxᴛ.
Scenariusz:
𝓑𝓮𝓱𝓸𝓵𝓭 𝓽𝓱𝓲𝓼 𝓯𝓪𝓷𝓬𝓲𝓵𝔂 𝓮𝓷𝓬𝓸𝓭𝓮𝓭 𝓽𝓮𝔁𝓽.
Biuletyn:
𝕭𝖊𝖍𝖔𝖑𝖉 𝖙𝖍𝖎𝖘 𝖋𝖆𝖓𝖈𝖎𝖑𝖞 𝖊𝖓𝖈𝖔𝖉𝖊𝖉 𝖙𝖊𝖝𝖙.
To spotkało się z zainteresowaniem na Stack Exchange (np. Tutaj , tutaj i tutaj ) i pojawiła się krytyka takich technik. Ale co może pójść nie tak, kiedy ich używam?
unicode
text-formatting
special-characters
Wrzlprmft
źródło
źródło
Odpowiedzi:
Generał
Znaki te nie są przeznaczone do zwykłego tekstu alfabetu łacińskiego, ale do fonetyki, tekstu alfabetu cyrylicy, do stosowania jako symbole matematyczne (reprezentujące zmienne) lub podobne. Jedynym sposobem kodowania tekstu w podstawowym alfabecie łacińskim zgodnym ze standardem Unicode jest użycie znaków głównie używanych do tego celu (tj. Z bloku Basic Latin Unicode).
Podobnie jak w przypadku wielu innych standardów, powinieneś pomyśleć dwa razy o naruszeniu Unicode. Co więcej, Unicode obejmuje tak wiele systemów pisania, przypadków użycia i innych rzeczy, które istnieją tylko dla wstecznej kompatybilności z innymi standardami 1, że pełne zrozumienie wszystkich jego motywacji jest własną nauką. Krótko mówiąc, chyba że tak naprawdę wiesz, co robisz, jest bardzo prawdopodobne, że coś się zepsuje, o czym nawet nie pomyślałeś.
Konkretne przykłady
Dostępność
Zakodowany tekst istnieje nie tylko w celu renderowania czcionką. Może być również interpretowany np. Przez czytniki ekranu. Czytnik ekranu nie powinien zgadywać, czy
ma być określonym artykułem lub iloczynem matematycznym 2 zmiennych 𝓽, 𝓱 i 𝓮 - po to są te znaki. Najlepszym zachowaniem będzie zatem określenie tych znaków, np. Dosłowne powiedzenie:
Zamiast tego nie powinien po prostu mówić „the”, ponieważ wówczas nie czytałby poprawnie tekstów matematycznych, których symbole tworzą wymowne słowo. 3)
Ruchliwość
Jeśli twój tekst jest ładnie renderowany na twoim komputerze, nie oznacza to, że będzie on również na czytniku. Najbardziej oczywistym przykładem jest to, że czytelnik nie ma żadnej czcionki obsługującej te znaki lub tekst jest renderowany przez oprogramowanie nieobsługujące czcionek zastępczych. Co prawda staje się to coraz mniej powszechne. Pamiętaj jednak, że niektórzy ludzie lubią dysleksję potrzebują specjalnych czcionek, które rzadziej wspierają te postacie.
Ale nawet jeśli maszyna czytelnika używa tylko innej czcionki, może to znacznie zmniejszyć czytelność tekstu. W pierwszym przykładzie jest to 𝓉𝒽ℯ renderowane za pomocą dwóch różnych czcionek:
Free Serif renderuje tekst tak, jakbyś chciał, aby był renderowany przy użyciu znaków specjalnych do symulacji tekstu, a mianowicie symulacji pisma ręcznego ciągłym pociągnięciem. Jednak te znaki są przeznaczone do użycia jako symbole matematyczne, łączenie nie ma sensu. Dlatego renderowanie przez STIX , które jest specjalnie zaprojektowane do celów matematycznych, jest bardziej zgodne ze sposobem, w jaki te znaki mają być używane.
W drugim przykładzie załóżmy, że ty lub czytelnik kursujesz z jakiegoś powodu kursywą „сᴜт мy вᴀʀ”. Przy dobrej czcionce otrzymasz 4 :
Powodem tego jest to, że małe litery były (częściowo) symulowane za pomocą liter cyrylicy, a kursywa cyrylicy czasami wygląda zupełnie inaczej niż ich pionowe odpowiedniki . Więc to jest właściwe zachowanie.
Możliwość wyszukiwania
Jako pierwszy przykład zastanów się, co chcesz zrobić rozsądnym wyszukiwaniem znaku 𝒲 (skrypt matematyczny W ). Załóżmy, że wyszukiwanie ma dwa tryby, tryb domyślny i tryb dokładny (zwykle nazywany rozróżnianiem wielkości liter ). Ta postać powinna być:
znalezione podczas wyszukiwania w lub W w trybie domyślnym - dla tych, którzy nie chcą zawracać sobie głowy wprowadzaniem lub kopiowaniem i wklejaniem znaku specjalnego w polu wyszukiwania;
znalezione podczas szukania 𝒲 w trybie dokładnym - dla tych, którzy chcą szukać tam, gdzie wymieniona jest odpowiednia zmienna w dokumencie matematycznym³;
nie znaleziono przy wyszukiwaniu 𝓌, w lub W w trybie dokładnym z powodu przerwania wyszukiwania podobnego do powyższego.
Jeśli jednak użyjesz tego znaku do symulacji zwykłego tekstu, należy go znaleźć podczas wyszukiwania W lub 𝒲 w trybie dokładnym, co jest sprzeczne z powyższym.
Jako drugi przykład weź pod uwagę, że znaki cyrylicy nigdy nie powinny być znalezione podczas wyszukiwania znaków łacińskich i odwrotnie, ponieważ są one całkowicie różne. Jeśli jednak używasz znaków cyrylicy do symulacji małych łacińskich znaków, musisz to zrobić, jeśli nie chcesz, aby wyszukiwarka była przerywana. Doprowadziłoby to do tego, że ludzie znaleźliby wiele niepotrzebnych rzeczy, gdyby szukali rzadkiego słowa alfabetu łacińskiego, które akurat koresponduje z fałszywymi małymi literami popularnego słowa cyrylicy (i odwrotnie).
Dokładna opcja wyszukiwania nie może rozwiązać tego problemu, ponieważ w tych alfabetach jest ona zarezerwowana do innych celów.
Ogólnie rzecz biorąc , nie można zbudować wyszukiwania (bez szalonej liczby opcji), które nie jest przerywane przez użycie znaków specjalnych do symulacji stylizowanego tekstu łacińskiego.
1 Czy wiesz, że XKCD o nieuniknionym niepowodzeniu ujednolicenia standardów ? Cóż, Unicode się udało.
2 lub cokolwiek pusty operator znajduje się w odpowiedniej konwencji
3 Wiem, że bardzo niewiele tekstów matematycznych obsługuje obecnie to kodowanie lub coś kompatybilnego, ale mam nadzieję, że pewnego dnia to zrobią. Twój tekst wykorzystujący Unicode może nadal znajdować się w pobliżu i czytać.
4 Chyba że lokalizujesz się w języku macedońskim lub serbskim, w którym uzyskasz inny, ale wciąż niepożądany wynik.
źródło
Co może pójść źle? Widzę to:
w przeglądarce Firefox 50.1.0 w systemie Windows 7.
Problem braku glifów , w tym przypadku na urządzeniu mobilnym, jest dodatkowo zilustrowany na zdjęciu podanym przez użytkownika Chrisa Kenta w komentarzu , który został przycięty i zmieniony w stosunku do oryginału :
I użytkownika oals uprzejmie przyczynił się inny przykład:
źródło
Mam z tym problem XY.
Widzimy tutaj, że Y i X wydają się mniejsze niż reszta tekstu. Przy niektórych poziomach powiększenia wydają się mieć ten sam rozmiar, ale wydaje się, że ujawnił problem z tymi konkretnymi glifami w tej konkretnej czcionce.
źródło
Używanie znaków spoza alfabetu łacińskiego, które wyglądają trochę jak łacińskie, stawia cię w towarzystwie spamerów, twórców pornografii i osób, które wiedzą, co ich interesuje, którzy chcą, aby ich tekst był nie do przeszukiwania, nie do wyjaśnienia i do odrzucenia. („Nigdy nie mówiłem, że to bezpieczne! Powiedziałem, że to był epizod sigma-alpha-integralny-znak! Nie możesz mnie pozwać !!!”)
Jeśli czujesz się komfortowo w tym klubie, skorzystaj z niego.
źródło