2015-04-15 4 views
9

Ho cercato di utilizzare i simboli Unicode per l'astrologia nei prodotti sia per Apple che per iOS. Sto ottenendo risultati inconsistenti, come illustrato di seguito:Glifi/simboli Unicode incoerenti Glifi/Simboli

Image of some astrological symbols in a table

La maggior parte di questi stanno venendo fuori come mi piace, ma per qualche motivo il simbolo del Toro sta comparendo in un modo nella prima riga, dopo la Luna, e un modo molto diverso, con il pulsante viola simile a Emoji, quando segue Marte. Questi risultati sono coerenti con simboli diversi e su hardware Apple; ecco una schermata catturata dal mio telefono che mostra lo stesso problema con alcuni altri segni - Scorpio esce tutto bene, ma Bilancia e Cancro sono pulsanti.

More symbols in a clip from an iPhone

Le corde sono estremamente semplici; "Moon Taurus" nella prima immagine è \u263D per Moon, \u2649 per Taurus, fondamentalmente assemblato come [NSString stringWithFormat:@"%@%@", @"\u263D", @"\u2649"]. L'immagine "Mars Taurus" è la stessa, solo con \u2642 per Marte. La formattazione della stringa è identica nelle diverse celle della tabella OSX e in AttributedString di iOS.

Qualche idea su cosa fa apparire questi simboli in un modo a volte e in un altro modo in altre occasioni?

risposta

11

Unicode utilizza sequenze di variazione per selezionare tra diversi rendering per determinati punti di codice elencati nel file StandardizedVariants.txt. Nel tuo caso, i simboli astrologici hanno sia "lo stile del testo" e varianti "stile emoji" che vengono selezionati tra da una (stile di testo) U+FEOE o U+FE0F (stile emoji) a seguito il punto di codice:

U+2650U+FE0E: ♐︎

U+2650U+FE0F: ♐️

noti che corretta interpretazione del selettore variazione dipende sostegno sia l'applicazione/quadro ei font utilizzato. Su Chrome (42) non sembra esserci alcuna differenza tra i miei esempi sopra, ma su Safari (8) sono distinti.

+1

Grazie, che rocce. E funziona. Peccato che Chrome non lo rispetti, ma soprattutto le mie app iOS e OSX lo fanno. – Apollo

+0

Anche le app Wpf non rispettano questo. – avenmore