Ich finde Unicode für Sonderzeichen aus der Suche von FileFormat.Info .
Einige Zeichen werden als klassische Schwarz-Weiß-Glyphen dargestellt, z. B. ⚠ (Warnzeichen \u26A0
oder ⚠
). Diese sind vorzuziehen, da ich CSS-Stile (z. B. Farbe) auf sie anwenden kann.
Andere rendern als neuere Cartoony-Emoji, wie z. B. ⌛ (Sanduhr \u231B
oder ⌛
). Diese sind nicht vorzuziehen, da ich sie nicht vollständig stylen kann.
Es scheint, dass der Browser diese Änderung vornimmt, da ich die Sanduhr-Glyphe auf Mac Firefox sehen kann, nur nicht auf Mac Chrome oder Mac Safari.
Gibt es eine Möglichkeit, Browser zu zwingen, die älteren (flach monotonen) Versionen anzuzeigen?
Update : Es scheint (von Kommentaren unten) gibt es einen Text Presentation - Selektor , FE0E
erhältlich Text-vs-Emojis zu erzwingen. Der Selektor wird als Suffix ohne Leerzeichen im Code des Zeichens verkettet, z. B. ⌛︎
für HTML-Hex oder \u231B\uFE0E
für JS. Allerdings ist es einfach nicht von allen Browsern geehrt (zB Chrom und Kante).
︎
und\uFE0E
sind korrekt (2 und 8) und funktionieren gut in Safari (8 und 9), aber wie die Antwort sagt: Die Browserunterstützung ist fleckig und Chrome (46) ist vollständig defekt.Antworten:
Fügen Sie das Unicode-Variationsauswahlzeichen zum Erzwingen von Text VS15 ,
︎
.Dadurch wird das vorherige Zeichen als Text und nicht als Emoji-Symbol gerendert.
Ergebnis: 🔒︎
Weitere Informationen finden Sie unter: Unicode-Symbol als Text oder Emoji
quelle
︎
Trick bei bestimmten Schriftarten bei mir nicht funktioniert. Es fällt mir schwer, eine Schriftart zu finden, von der ich vernünftigerweise erwarten kann, dass sie auf allen Computern (Windows, iOS, Mac, Android usw.) installiert ist.Ich hatte ein Unicode-Zeichen in der
content
von aspan::before
und ich hatte dasfont-family
von derspan
Einstellung "Segoe UI Symbol". Aber Chrome verwendete "Segoe UI Emoji" als Schriftart, um es zu rendern.Wenn ich jedoch das
font-family
"Segoe UI Symbol" explizit für dasspan::before
und nicht nur für das eingestellt habespan
, hat es funktioniert.quelle
Für eine Nur-CSS-Lösung, die verhindert, dass iOS Emojis anzeigt, können Sie
font-family: monospace
die Standardvariante des Glyphen anstelle der Emoji-Variante verwenden.quelle
Android-Schriftarten sind nicht so umfangreich, wie Sie es vielleicht erwarten. Schriftdateien haben diese exotische Glyphe nicht und Android hat einen Hack für wenige Zeichen ohne Glyphe. Sie werden durch Symbole ersetzt.
Die Lösung besteht also darin, die Site in eine Webschrift (woff) zu integrieren. Erstellen Sie mit FontForge eine neue Schriftartdatei und wählen Sie beispielsweise die gewünschte Glyphe aus der kostenlosen Serifen-TTF aus. Jede Glyphe benötigt 1k. Woff-Datei generieren.
Bereiten Sie einfaches CSS vor, um die benutzerdefinierte Schriftfamilie zu importieren.
style.css:
index.html Datei:
quelle
Wenn Ihr Hauptanliegen darin besteht, die monochromatische Anzeige zu erzwingen, damit sich das Emoji nicht zu stark vom Text abhebt, sind CSS-Filter entweder allein oder in Kombination mit dem Unicode-Variationswähler möglicherweise das Richtige für Sie.
Im Gegensatz zur Variationsauswahl sollte es keine Rolle spielen, wie die Emoji gerendert werden, da CSS-Filter für alles gelten. (Ich verwende sie, um "Link-Typ" -Symbole im PNG-Format in Hyperlinks zu skalieren, die so geändert wurden, dass sie auf die Wayback-Maschine verweisen.)
Nur beachten Sie die Einschränkung . Sie können den Filter eines übergeordneten Elements in einem untergeordneten Element nicht überschreiben. Daher kann diese Technik nicht verwendet werden, um einen Absatz in Graustufen zu skalieren und die darin enthaltenen Links neu zu färben. 😢
... dennoch ist es nützlich für Situationen, in denen Sie entweder das Ganze zu einem Hyperlink machen oder ein umfangreiches Markup darin nicht zulassen. (zB Titel und Beschreibungen)
Dies funktioniert jedoch nur, wenn CSS tatsächlich angewendet wird. Daher gebe ich eine zweite Option an, die in
<title>
Elementen zuverlässiger ist als der Unicode-Variationsselektor (ich sehe dich an, GitHub. Ich mag keine gefälschten Symbole in meinem Browser-Registerkarten):Wenn Sie eine vom Benutzer bereitgestellte Zeichenfolge in ein
<title>
Element einfügen, filtern Sie das Emoji zusammen mit Fett / Kursiv / Unterstrichen / etc. Heraus. Markup. (Ja, für diejenigen, die es verpasst haben, fordert der Standard, dass der Inhalt von<title>
Klartext abgesehen von den kaufmännischen Und-Zeichen und den Browsern, die ich getestet habe, alle Interpretations-Tags als wörtlichen Text enthält.)Ich kann mir zwei Möglichkeiten vorstellen:
emoji
Paket für die Datenbank, aber Rust ist ein gutes Beispiel für eine Sprache wo das Iterieren von Graphemclustern schnell und einfach über eine Kiste wieunicode-segmentation
.)quelle
Google Chrome, Desktop-Version 75, scheint seinen Ansatz zum Rendern von Unicode-Zeichen basierend auf dem ersten Unicode-Escape, auf das es beim Laden einer Seite stößt, eindeutig zu definieren. Wenn beispielsweise als erstes HTML-Unicode-Escape in einer Seitenquelle analysiert wird und kein Emoji-Äquivalent vorhanden ist, & # 9207; scheint Chrome zu verdeutlichen, dass die Seite Escapezeichen enthält, die nicht als Emoji gerendert werden sollen.
quelle
Wenn Sie die Antwort von ssokolow erweitern , ist die Verwendung eines Filters hilfreich und macht zumindest die Konturen sichtbar, anstatt eine einfache Schriftart zu verwenden. Die Konvertierung einer RGB-Farbe in eine Folge von CSS-Filtern ist jedoch sehr schwierig, wenn Sie eine bestimmte Farbe verwenden möchten.
Eine bessere (wenn auch ziemlich wortreiche) Option ist die Verwendung des
<feColorMatrix>
SVG-Filters. In Kombination mit dem Graustufenfilter und dem Daten-URI-Schema können Sie die Farbe über RGB und Inline-CSS darstellen:Leider können Sie die URL nicht mit Daten (aus Attributen oder Variablen) interpolieren, aber zumindest müssen Sie keine CSS-Filter aus RGB berechnen.
quelle
Ich kenne keine Möglichkeit, das Rendern vom Typ Emoji auszuschalten. Normalerweise verwende ich eine Symbolschrift wie Font Awesome oder Glyphicons (wird mit Bootstrap 3 geliefert ).
Der Vorteil dieser Verwendung gegenüber den Unicode-Zeichen besteht darin, dass
Der einzige Nachteil ist, dass der Browser beim Anzeigen Ihrer Seite noch etwas herunterladen muss.
quelle
Unter OSX bestand die Lösung darin, die Schriftfamilie auf zu setzen
EmojiSymbols
quelle
Keine der oben genannten Lösungen funktionierte für die Erweiterung "Emoji für Google Chrome".
So wie das Problem zu umgehen ich einen Screenshot des Unicode - Zeichens 'BALLOT BOX WITH CHECK' (U + 2611) hergestellt und hinzugefügt , um es als Bild mit php:
Siehe: https://spacetrace.org/man_card.php?tec_id=21&techname=multi-emp-vessel
quelle