Zalgo文本如何工作?

我已经看到了像下面写在各种论坛上的称为Zalgo的奇怪格式的文本。 这看起来有些恼人,但它真的困扰我,因为它破坏了我对angular色应该是什么的概念。 我的理解是,一个angular色应该水平移动,保持在一个特定的“容器”内。 Zalgo文本显然是垂直移动的,似乎不受任何空间限制。

这是一个错误/缺陷/利用/黑客在Unicode? 这些个性怪异的属性? 这里发生了什么?

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

文本使用组合字符,也称为组合标记。 请参阅Unicode标准中组合字符 2.11节(PDF)。

在Unicode中,字符渲染不使用简单的字符单元格模型,其中每个字形符合具有给定高度的框。 组合标记可以呈现在基本字符的上方,下方或内部

因此,假设渲染软件符合Unicode渲染模型,您可以轻松地构build一个由任意长度的基本字符和“合并以上”标记组成的字符序列,以达到任何所需的视觉高度。 这样的顺序当然是没有意义的,甚至一只猴子也能产生它(例如,给一个合适的驱动程序的键盘)。

您可以混合使用“合并以上”和“合并以下”标记。

问题中的示例文本从以下开始:

  • 拉丁文大写字母H – H
  • ͭ T – ͭ
  • 联合希腊KORONIS – ̓
  • 合并上面的COMMA – ̓
  • 以上组合点 – ̇

Zalgo文字由于结合字符而起作用。 这些是特殊字符,可以修改之前的字符。

在这里输入图像描述

要么

y +̆=y̆实际上是

 y + ̆ = y̆ 

既然你可以把它们堆叠在一起,你可以产生以下内容:

ÿ

其实是:

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

把东西放在下面也是一样的:

ÿ

那实际上是:

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

在Unicode中,欧洲语言和国际音标组合的变音符号主要是U + 0300-U + 036F。

更多关于这里

你可以在这里findhtml代码列表

同时检查出来

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