Unicode contient divers caractères qui ressemblent à des variantes stylisées typographiques de l'alphabet latin de base et qui permettent d'écrire des textes dans les styles typographiques correspondants sans recourir à des balises ou similaires. Par exemple, on peut simuler:
En minuscule:
ᴛʜɪꜱ ꜰᴀɴᴄɪʟy xᴛ.
Scénario:
𝓽𝓱𝓲𝓼 𝓯𝓪𝓷𝓬𝓲𝓵𝔂 𝓮𝓷𝓬𝓸𝓭𝓮𝓭 𝓽𝓮𝔁𝓽.
Lettre noir:
𝖙𝖍𝖎𝖘 𝖋𝖆𝖓𝖈𝖎𝖑𝖞 𝖊𝖓𝖈𝖔𝖉𝖊𝖉 𝖙𝖊𝖝𝖙.
Cet intérêt rencontré sur Stack Exchange (par exemple, ici , ici et ici ) et la critique de telles techniques a été faite. Mais qu'est-ce qui peut mal tourner quand je les utilise?
unicode
text-formatting
special-characters
Wrzlprmft
la source
la source
Réponses:
Général
Ces caractères ne sont pas destinés au texte normal de l'alphabet latin, mais à la phonétique, au texte de l'alphabet cyrillique, pour une utilisation en tant que symboles mathématiques (représentant des variables) ou similaires. Le seul moyen de coder du texte dans l'alphabet latin de base conforme à Unicode consiste à utiliser les caractères principalement utilisés à cette fin (c.-à-d. À partir du bloc Unicode de base latin ).
Comme avec beaucoup d'autres normes, vous devriez réfléchir à deux fois avant de violer Unicode. De plus, Unicode comprend un grand nombre de systèmes d'écriture, de cas d'utilisation et d'éléments qui n'existent que pour la compatibilité ascendante avec d'autres normes 1 et qui comprend parfaitement toutes ses motivations est une science à part. En bref, à moins que vous ne sachiez vraiment ce que vous faites, il est fort probable que quelque chose se brise auquel vous n'avez même pas pensé à distance.
Exemples spécifiques
Accessibilité
Le texte codé n’existe pas seulement pour être restitué dans certaines polices. Il peut également être interprété, par exemple, par des lecteurs d'écran. Et un lecteur d'écran ne devrait pas avoir besoin de deviner si
est censé être l'article défini ou le produit mathématique 2 des variables, 𝓱 et 𝓮 - ce pour quoi ces caractères sont créés. Le meilleur comportement sera donc qu'il épelle ces caractères, par exemple en disant littéralement ce qui suit:
Il ne faut pas simplement dire «le» mais plutôt, car cela ne lirait pas correctement les textes mathématiques dont les symboles forment un mot prononçable. 3
Portabilité
Si votre texte est bien rendu sur votre machine, cela ne signifie pas qu'il le sera également sur celui du lecteur. L'exemple le plus évident est que le lecteur ne possède aucune police prenant en charge ces caractères ou que le texte est rendu par un logiciel ne prenant pas en charge les polices de secours. Certes, cela devient de moins en moins courant. Gardez toutefois à l'esprit que certaines personnes, comme les dyslexiques, ont besoin de polices spéciales moins susceptibles de prendre en charge ces caractères.
Cependant, même si la machine du lecteur utilise uniquement une police différente, le texte peut être considérablement moins lisible. Pour un premier exemple , ceci est rendu avec deux polices différentes:
Free Serif rend le texte tel que vous le souhaiteriez probablement lors de l'utilisation de caractères spéciaux pour simuler du texte, à savoir la simulation de l'écriture manuscrite avec un trait continu. Cependant, ces caractères sont conçus pour être utilisés comme symboles mathématiques, ce qui n’a aucun sens. Par conséquent, le rendu de STIX , spécialement conçu à des fins mathématiques, correspond mieux à la manière dont ces caractères sont destinés à être utilisés.
Dans un deuxième exemple , supposons que vous ou le lecteur italiquiez «сᴜт мy в» pour une raison quelconque. Avec une bonne police, vous aurez 4 :
La raison en est que les lettres minuscules ont été (partiellement) simulées avec des lettres cyrilliques et que les italiques cyrilliques ont parfois une apparence très différente de leurs équivalents droits . Encore une fois, c'est le comportement approprié.
Possibilité de recherche
Comme premier exemple, considérons ce que vous souhaitez qu'une recherche raisonnable fasse avec le caractère (script mathématique W ). Supposons que la recherche comporte deux modes, le mode par défaut et le mode exact (généralement appelé sensible à la casse ). Ce personnage devrait être:
trouvé lors de la recherche de w ou W en mode par défaut - pour ceux qui ne veulent pas se donner la peine d'entrer ou de copier-coller le caractère spécial dans le champ de recherche;
trouvé lors de la recherche de 𝒲 en mode exact - pour ceux qui souhaitent rechercher où la variable correspondante est mentionnée dans un document mathématique³;
introuvable lors de la recherche de 𝓌, w ou W en mode exact en raison d'une recherche similaire à la précédente.
Toutefois, si vous utilisez ce caractère pour simuler du texte standard, vous devez le trouver lorsque vous recherchez W ou en mode exact, ce qui est en conflit avec ce qui précède.
Dans un deuxième exemple, considérez que les caractères cyrilliques ne doivent jamais être trouvés lors de la recherche de caractères latins et inversement, car ils ont des choses complètement différentes. Cependant, si vous utilisez des caractères cyrilliques pour simuler des petites majuscules latines, vous devez le faire si vous ne voulez pas que la recherche soit interrompue. Cela amènerait les gens à trouver beaucoup de choses inutiles s’ils recherchent un mot rare de l’alphabet latin qui correspond justement aux fausses petites majuscules de certains mots populaires de l’alphabet cyrillique (et vice-versa).
Une option de recherche exacte ne peut pas résoudre ce problème, car il est réservé à d'autres fins dans ces alphabets.
En général , il est impossible de créer une recherche (sans un nombre incroyable d'options) qui ne soit pas interrompue par l'utilisation de caractères spéciaux pour simuler un texte latin stylé.
1 Vous savez que XKCD parle de l’échec inévitable de l’unification des normes ? Eh bien, Unicode a réussi.
2 ou quel que soit l'opérateur vide dans la convention pertinente
3 Je suis conscient du fait que très peu de textes mathématiques soutiennent actuellement cet encodage ou quelque chose de compatible, mais le fait est qu'ils le feront un jour, espérons-le. Votre texte abusant d'Unicode peut toujours être lu et lu.
4 Sauf si vous localisez en macédonien ou en serbe, vous obtiendrez un résultat différent mais tout de même indésirable.
la source
Qu'est-ce qui peut aller mal? Eh bien, je vois ceci:
dans Firefox 50.1.0 sur Windows 7.
Le problème des glyphes manquants , dans ce cas sur un appareil mobile, est illustré plus en détail dans une image donnée par l'utilisateur Chris Kent dans un commentaire que j'ai rogné et redimensionné à partir de l'original :
Et l' utilisateur OALS aimablement contribué un autre exemple:
la source
J'ai un problème avec XY.
Ici, nous voyons que Y et X semblent plus petits que le reste du texte. À certains niveaux de zoom, elles semblent avoir la même taille, mais cela semble avoir mis en évidence un problème avec ces glyphes particuliers dans cette police.
la source
Utiliser des caractères non latins qui ressemblent un peu à des caractères latins vous met en compagnie de spammeurs, de marchands de porno et de ceux qui savent ce qu'ils veulent jusqu'à des dissembleurs qui veulent que leur texte soit incompréhensible, indéfinissable et répudiable. ("Je n'ai jamais dit que c'était sans danger !! J'ai dit que c'était sigma-alpha-integral-sign-epislon !!! Je ne peux pas me poursuivre en justice !!!")
Si vous êtes à l'aise dans ce club, allez-y.
la source