1. ホーム
  2. html

[解決済み] Zalgoテキストはどのように機能しますか?

2022-03-14 21:25:45

質問

いろいろな掲示板で、以下のようなザルゴという変な書式の文章が書かれているのを見かけます。見ていてちょっと腹立たしいのですが、文字というものの概念を覆されるようで、とても気になります。私の理解では、文字というのは、線をまたいで水平に動き、ある一定のquot;コンテナ"の中にとどまるものだと思います。明らかにZalgoのテキストは縦に動いていて、どのスペースにも制限されていないように見えます。

これは、Unicodeのバグ/欠陥/搾取/ハックなのでしょうか?これらは奇妙なプロパティを持つ個々の文字なのですか? "ここで何が起こっているのですか?

<ブロッククオート


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

解決方法は?

テキストには、コンバイニングマークと呼ばれる結合文字が使用されています。の2.11節を参照してください。 ユニコード標準における結合文字 (PDF)をご覧ください。

Unicodeでは、文字レンダリングは、各グリフが所定の高さのボックスに収まるような単純な文字セルモデルを使用しません。結合記号は、基本文字の上、下、または中に描画されることがあります。

したがって、レンダリングソフトウェアがUnicodeレンダリングモデルに準拠していれば、基本文字と「上に組み合わせる」マークからなる文字列を、任意の長さで、任意の見た目の高さになるように簡単に構築することができるのです。このような文字列にはもちろん意味はなく、猿でも作ることができます(例えば、適切なドライバを備えたキーボードがあれば)。

また、「上方合体」と「下方合体」のマークを混在させることができます。

問題文のサンプルは、から始まっています。