Question Comment fonctionne le texte Zalgo?


J'ai vu un texte bizarrement formaté appelé Zalgo comme ci-dessous écrit sur divers forums. C'est assez agaçant à regarder, mais ça me dérange vraiment parce que ça mine ma notion de ce qu'un personnage est supposé être. Ma compréhension est qu'un personnage est censé se déplacer horizontalement à travers une ligne et rester dans un certain "conteneur". Évidemment, le texte de Zalgo se déplace verticalement et ne semble pas limité à aucun espace.

Est-ce un bug / défaut / exploiter / pirater en Unicode? Sont ces caractères individuels avec des propriétés étranges? "Que se passe-t-il ici?


H̡̫̤̤̣͉̤ͭ̓̓̇͗ơ̯̗̘̮͒̄̈ͤ͡w͓͙͖̥͉̹͋ͬ̊ͦ̚ ͎͉͖̌ͯd̳̘̿̔̏ͣ̉̕ŏ̖̙͋ͤ̊͗̓͟͜e͈͕̯̮̙̣͓͌ͭ̍̐͒s͙͔̺͇̗̿̊̇͞ ̸̤͓̞̫ͩͩ͑̋ͮͥͦ̊Z̆̊͊҉҉̠̦̩͕ą̟̹͈̺̹̋̅ͯĺ̡̘̹̻̩̩͋͘g̪͚͗ͬ͒o̢̖͇̬͍͇͓̔͋͊̓ ̢͈͙ͣ̏̿͐ͯ͠t̛͓̖̻ͤ̈ͣ͝e͋̄ͬ̽͜҉͚̭͇x͎̬̠͇̌ͤ̓̓͐͐͋͡ţ̗̹̝̄̌ͧͩ̕͢ ̮̗̩̳̾w͎̭̤͍͇̰̄͗ͭ͗ͮ̐o̢̯̻̰̼͕̾ͣͬ̽̔̍͟r̢̪͙͍̠ǩ̵̶̗̮̮ͪ? ̙͉̥̬͙̟̮͕ͤ̌͗ͩ̕͡   



578
2017-07-05 08:30


origine


Réponses:


Le texte utilise des caractères de combinaison, également appelés marques combinées. Voir la section 2.11 de Combinaison de caractères dans la norme Unicode (PDF)

En mode Unicode, le rendu de caractère n'utilise pas un modèle de cellule de caractères simple dans lequel chaque glyphe est inséré dans une zone de hauteur donnée. Les marques combinées peuvent être affichées au-dessus, en dessous ou à l'intérieur d'un caractère de base

Ainsi, vous pouvez facilement construire une séquence de caractères, composée d'un caractère de base et d'une combinaison de n'importe quelle longueur, pour atteindre la hauteur visuelle souhaitée, en supposant que le logiciel de rendu se conforme au modèle de rendu Unicode. Une telle séquence n'a évidemment aucun sens, et même un singe pourrait le produire (par exemple, étant donné un clavier avec un pilote approprié).

Et vous pouvez mélanger les mots «combiner ci-dessus» et «combiner ci-dessous».

L'exemple de texte de la question commence par:


372
2017-12-01 08:34



Le texte de Zalgo fonctionne à cause de la combinaison de caractères. Ce sont des caractères spéciaux qui permettent de modifier le caractère qui vient avant.

enter image description here

OU

y + ̆ = y̆ qui est réellement

y + ̆ = y̆

Puisque vous pouvez les empiler les uns sur les autres, vous pouvez produire ce qui suit:




y̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆

qui est en réalité:

y̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆

La même chose vaut pour mettre des choses en dessous:



y̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆



c'est en fait:

y̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆

Dans Unicode, le bloc principal de la combinaison des signes diacritiques pour les langues européennes et de l'alphabet phonétique international est U + 0300-U + 036F.

Plus à ce sujet ici

Tu peux trouver liste des codes html ici

Vérifiez également em out



Mͣͭͣ̾ Vͣͥͭ͛ͤͮͥͨͥͧ̾


195
2018-04-29 14:52