Comme je semble avoir pris un peu de succès pour penser que Windows "fait les choses correctement", je pense que je devrais poster une réponse pour justifier ma position.
Le fait est que le texte que vous avez indique au système d'exploitation de rendre une quantité folle de combinaison de caractères. Le problème qu'un système d'exploitation les rend réellement alors qu'un autre ne le fait pas est dû à un certain nombre de problèmes. L'un de ces problèmes est la minutie des programmeurs lorsqu'ils ont écrit le code pour les rendre, un autre serait dû au fait que les programmeurs sont trop paresseux pour les implémenter correctement, voire pas du tout.
Fondamentalement, cela revient à l'idée que les langues écrites sont des choses fluides et que de nombreux caractères dans certaines langues ont plusieurs diacritiques différents qui s'appliquent pour modifier la prononciation des caractères. Comment traitons-nous tous ces signes diacritiques, donnons-nous à chaque lettre avec un signe diacritique un nouveau caractère (ce qui entraînerait un sacré grand nombre de caractères nouveaux et presque identiques) ou créons-nous un ensemble de caractères spécifiquement pour les signes diacritiques et réduisons notre alphabet général?
Unicode nous donne la possibilité de faire les deux, mais ce faisant, les programmeurs qui doivent rendre ces signes diacritiques doivent faire face au fait qu'il y a des caractères qui ont en fait plusieurs signes diacritiques, un au-dessus et un en dessous, puis le programmeur a de poser la question de savoir quand s'arrêtent-ils. Ils pourraient le limiter à deux, et satisfaire la plupart des gens mais ignorer ceux qui veulent ou ont besoin de trois signes diacritiques pour écrire formellement dans leur propre langue.
Microsoft, à tort ou à raison, a décidé de laisser l'utilisateur décider du nombre de marques supplémentaires qu'une personne souhaite utiliser. Ce chemin prend un assez bon programmeur et une rationalisation difficile à suivre. Je les soutiens pleinement en autorisant cela et en le faisant bien .
Si ces personnages manquaient en revanche, je voudrais savoir pourquoi ils manquaient. Était-ce une x
décision "nous laissons tomber sur le sol après les signes diacritiques", ou était-ce dû au fait que les programmeurs étaient trop paresseux pour le faire correctement et m'exposaient potentiellement à un débordement de tampon avec du code caché dans les signes diacritiques transmis pour être exécuté par le système?
Le problème simple ici est qu'en rendant ces caractères, je peux voir que le système fait exactement ce qu'on lui dit de faire, plutôt que de faire ce qu'il pense être juste ou, pire, faire quelque chose de potentiellement dangereux .