Je recherche Unicode pour les caractères spéciaux de recherche de FileFormat.Info .
Certains caractères sont rendus sous forme de glyphes classiques en noir et blanc, tels que (panneau d’avertissement, \u26A0
ou ⚠
). Celles-ci sont préférables, car je peux leur appliquer des styles CSS (tels que la couleur).
D'autres affichent un emoji plus récent, tel que hour (sablier, \u231B
ou ⌛
). Ce ne sont pas préférables, car je ne peux pas les dénommer complètement.
Il semble que le navigateur effectue cette modification, car je suis capable de voir le glyphe du sablier sur Mac Firefox, mais pas sur Mac Chrome ni Mac Safari.
Existe-t-il un moyen de forcer les navigateurs à afficher les versions plus anciennes (monotones plates)?
Mise à jour : Il semble (d'après les commentaires ci-dessous) qu'il existe un sélecteur de présentation de texte , FE0E
, disponible pour appliquer text-vs-emoji. Le sélecteur est concaténé en tant que suffixe sans espace sur le code du caractère, tel que ⌛︎
pour HTML hex ou \u231B\uFE0E
pour JS. Cependant, il n’est tout simplement pas respecté par tous les navigateurs (par exemple Chrome et Edge).
Ajoutez le caractère sélecteur de variation Unicode pour forcer le texte, VS15, ︎
.
Ceci force le caractère précédent à être rendu sous forme de texte plutôt que sous forme de symbole Emoji.
<p>????︎</p>
Résultat: ????
En savoir plus sur: symbole Unicode sous forme de texte ou emoji
J'avais un caractère Unicode tel que span::before
contenu. Chrome a utilisé "Segoe UI Emoji" comme police de rendu. Même lorsque j'ai réglé la famille de polices sur "Segoe UI Symbol", cela ne fonctionnait pas.
Mais, lorsque je règle la famille de polices sur "Segoe UI Symbol" explicitement pour le span::before
, plutôt que juste pour le span
, alors cela a fonctionné.
Les polices Android ne sont pas riches, contrairement à ce que vous pouvez vous attendre. Les fichiers de polices ne contiennent pas ces glyphes exotiques et Android contient un hack pour quelques caractères sans glyph. Ils sont remplacés par des icônes.
La solution consiste donc à intégrer le site avec une police Web (woff). Créez un nouveau fichier de police avec FontForge et sélectionnez le glyphe requis dans TTF libre par exemple. Chaque glyphe prend 1k. Générer le fichier woff.
Préparez un CSS simple pour importer la famille de polices personnalisée.
style.css:
@font-face {
font-family: 'Exotic Icons';
src: url('exotic-icons.woff') format('woff');
}
.exotic-symbol-font {
position: relative;
top: 1px;
display: inline-block;
font-family: 'Exotic Icons';
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
fichier index.html:
<html>
<head>
<meta charset="utf-8">
<link href="style.css" rel="stylesheet"></head>
<title>Test custom glyphs</title>
</head>
<body>
<table>
<tr>
<td class="exotic-symbol-font">
???? ☠ ♠ a g
</td>
</tr>
</table>
</body>
</html>
Aucune des solutions ci-dessus ne fonctionnait pour l'extension "Emoji pour Google Chrome".
J'ai donc fait une capture d'écran du caractère Unicode 'BALLOT BOX WITH CHECK' (U + 2611) et l'a ajoutée sous forme d'image avec php:
$ballotBoxWithCheck='<img src="pics/U2611.png" style="height:11px;margin-bottom:-1px">'; # ☑ or /U2611
Voir: https://spacetrace.org/man_card.php?tec_id=21&techname=multi-emp-vessel
Google Chrome, version de bureau 75, semble désambiguiser son approche en matière de rendu des caractères Unicode en fonction du premier échappement Unicode rencontré lors du chargement d'une page. Par exemple, lorsqu’il est analysé comme le premier échappement Unicode HTML dans une source de page et qu’il n’a pas d’équivalent emoji, # 9207; semble clarifier à Chrome) que la page contient des échappements ne devant pas être rendus sous forme d’emoji.
Pour moi sur OSX, la solution consistait à définir font-family sur EmojiSymbols