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, à l'utilisation comme symboles mathématiques (représentant des variables), etc. La seule façon conforme à Unicode d'encoder du texte dans l'alphabet latin de base est d'utiliser les caractères principalement utilisés à cette fin (c.-à-d., de la série Latin de base Bloc Unicode).
Comme pour de nombreuses autres normes, vous devriez réfléchir à deux fois avant de violer Unicode. De plus, Unicode comprend tellement de systèmes d'écriture, de cas d'utilisation et de choses qui n'existent que pour la rétrocompatibilité avec d'autres normes 1 que comprendre pleinement toutes ses motivations est une science à part entière. En bref, à moins que vous ne sachiez vraiment vraiment ce que vous faites, il est extrêmement probable que quelque chose se brise auquel vous n'avez même pas pensé.
Exemples concrets
Accessibilité
Le texte codé n'existe pas seulement pour être rendu dans une certaine police. 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 faits. Le meilleur comportement sera donc d'épeler ces caractères, par exemple en disant littéralement ce qui suit :
gras script petit t, gras script petit h, gras script petit e
Il ne devrait pas simplement dire "le" à la place, car il ne pourrait alors pas lire correctement les textes mathématiques dont les symboles se trouvent former un mot prononçable. 3
Portabilité
Si votre texte est bien rendu sur votre machine, cela ne signifie pas qu'il le sera aussi sur celle du lecteur. L'exemple le plus évident est que le lecteur ne dispose d'aucune police supportant ces caractères ou que le texte est rendu par un logiciel ne supportant pas les polices de repli. Il est vrai que cette situation est de moins en moins fréquente. N'oubliez pas cependant que certaines personnes, comme les dyslexiques, ont besoin de polices spéciales qui sont moins susceptibles de supporter ces caractères.
Mais même si la machine du lecteur n'utilise qu'une police différente, cela peut rendre le texte beaucoup moins lisible. Pour un premier exemple ce qui est rendu avec deux polices différentes :
![rendered with FreeSerif and STIX]()
Free Serif rend le texte comme vous voudriez probablement qu'il soit rendu lorsque vous utilisez des caractères spéciaux pour simuler du texte, à savoir simuler une écriture manuscrite avec un trait continu. Cependant, ces caractères sont conçus pour être utilisés comme des symboles mathématiques, une connexion qui n'a aucun sens. C'est pourquoi le rendu par STIX qui est spécifiquement conçu à des fins mathématiques, est plus conforme à la façon dont ces caractères sont censés être utilisés.
Dans un deuxième exemple Supposons que vous ou le lecteur mettez le "y" en italique pour une raison quelconque. Avec une bonne police, vous obtiendrez 4 :
![y rendered in upright and italics. italics reads as "cum my bar"]()
La raison en est que les petites capitales ont été (partiellement) simulées avec des lettres cyrilliques, et que Les caractères italiques cyrilliques ont parfois un aspect très différent de leurs homologues droits. . Donc, encore une fois, c'est le comportement approprié.
Capacité de recherche
En tant que premier exemple, considérez ce que vous voudriez qu'une recherche raisonnable fasse avec le caractère (script mathématique. W ). Supposons que la recherche comporte deux modes, le mode mode par défaut y el mode précis (généralement appelé sensible à la casse ). Ce caractère devrait être :
-
trouvé lors de la recherche de w o W en mode par défaut - pour ceux qui ne veulent pas prendre la peine de saisir ou de copier-coller le caractère spécial dans le champ de recherche ;
-
trouvé lors d'une recherche en mode exact - pour ceux qui veulent rechercher où la variable correspondante est mentionnée dans un document mathématique³ ;
-
non trouvé lors de la recherche de , w o W en mode exact en raison de la rupture d'une recherche similaire à la précédente.
Cependant, si vous utilisez ce caractère pour simuler du texte normal, il devrait être trouvé lors de la recherche de W ou en mode exact, ce qui est en contradiction avec ce qui précède.
En tant que deuxième exemple Considérez que les caractères cyrilliques ne doivent jamais être trouvés lors d'une recherche de caractères latins et vice versa, car ce sont des choses complètement différentes. Cependant, si vous utilisez des caractères cyrilliques pour simuler les petites capitales latines, il faut que cela se produise, si vous ne voulez pas que la recherche soit interrompue. Cela conduirait les gens à trouver beaucoup de choses inutiles s'ils recherchent un mot rare en alphabet latin qui se trouve correspondre aux fausses petites capitales d'un mot populaire en alphabet cyrillique (et vice versa).
Une option de recherche exacte ne peut pas résoudre ce problème, car elle est réservée à d'autres fins dans ces alphabets.
En général Il est impossible de construire une recherche (sans une quantité démesurée d'options) qui ne soit pas interrompue par l'utilisation de caractères spéciaux pour simuler un texte latin stylé.
1 Vous savez ce XKCD sur l'échec inévitable des normes unifiées ? Eh bien, Unicode a réussi.
2 ou quel que soit l'opérateur vide dans la convention pertinente
3 Je suis conscient que très peu de textes mathématiques supportent aujourd'hui cet encodage ou quelque chose de compatible avec lui, mais le fait est qu'un jour on espère qu'ils le feront. Votre texte qui abuse d'Unicode sera peut-être encore disponible et lu à ce moment-là.
4 À moins que vous ne localisiez pour le macédonien ou le serbe, auquel cas vous obtiendrez un résultat différent mais toujours indésirable.