2015-04-15 10 views
9

Próbowałem wykorzystać symbole Unicode do astrologii w produktach Apple i iOS. Dostaję sprzeczne rezultaty, jak pokazano poniżej:Niespójne symbole Glify Emoji/symbole Unicode

Image of some astrological symbols in a table

Większość z nich wychodzi, jak mi się podoba, ale z jakiegoś powodu Byk symbol pojawia się w jedną stronę, na pierwszej linii, po Księżycu, i zupełnie inny sposób, za pomocą fioletowego przycisku podobnego do Emoji, kiedy podąża za Marsem. Wyniki te są spójne dla różnych symboli i sprzętu Apple; oto zrzut ekranu z mojego telefonu pokazujący ten sam problem z innymi znakami - Scorpio wychodzi, ale przyciski Waga i Wagi są.

More symbols in a clip from an iPhone

Struny są bardzo proste; "Moon Taurus" na pierwszym obrazie to \u263D dla Księżyca, \u2649 dla Taurus, w zasadzie złożone jako [NSString stringWithFormat:@"%@%@", @"\u263D", @"\u2649"]. Obraz "Mars Taurus" jest taki sam, tylko z \u2642 dla Marsa. Formatowanie ciągów jest identyczne w różnych komórkach tabeli OSX oraz w systemie iOS AttributString.

Każda idea, która sprawia, że ​​te symbole pojawiają się czasami w jeden sposób, a inaczej w innych czasach?

Odpowiedz

11

Unicode używa sekwencji zmiennych do wyboru między różnymi renderingami dla określonych punktów kodowych wymienionych w pliku StandardizedVariants.txt. W twoim przypadku, astrologiczne symbole mają zarówno „styl tekstu” i „stylu emotikonów” warianty, które są wybrane pomiędzy przez U+FEOE (Styl tekstu) lub U+FE0F (styl Emotikon) po punkcie kod:

U+2650U+FE0E: ♐︎

U+2650U+FE0F: ♐️

Należy pamiętać, że właściwa interpretacja selektora zmienności zależy od wsparcia ze strony zarówno aplikacji/ramy i czcionki są używane. W Chrome (42) nie ma żadnej różnicy między powyższymi przykładami, ale w Safari (8) są one różne.

+1

Dziękuję, że skały. I działa. Szkoda, że ​​Chrome go nie szanuje, ale co najważniejsze, robią to moje aplikacje na iOS i OSX. – Apollo

+0

Aplikacje Wpf również tego nie szanują. – avenmore