Saya telah melihat teks berformat aneh bernama Zalgo seperti yang ditulis di berbagai forum. Agak menyebalkan untuk dilihat, tapi itu benar-benar menggangguku karena itu melemahkan pandanganku tentang karakter yang seharusnya. Pemahaman saya adalah bahwa karakter seharusnya bergerak secara horizontal melintasi garis dan tetap berada dalam "wadah" tertentu. Jelas teks Zalgo bergerak secara vertikal dan tampaknya tidak terbatas pada ruang apa pun.
Apakah ini bug / cacat / exploit / hack di Unicode? Apakah ini karakter individu dengan properti aneh? "Apa yang terjadi disini?
Bagaimana dengan ͙͔̺͇̗̱̿̊̇͞Z̆̊͊҉҉̠̱̦̩͕ą̟̹͈̺̹̋̅ͯĺ̡̘̹̻̩̩͋͘g̪͚͗ͬ͒o̢̖͇̬͍͇͓̔͋͊̓ ̢͈͙͂ͣ̏̿͐͂ͯ͠t̛͓̖̻̲ͤ̈ͣ͝e͋̄ͬ̽͜҉͚̭͇ͅx͎̬̠͇̌ͤ̓̂̓͐͐́͋͡ț̗̹̝̄̌̀ͧͩ̕͢ ̮̗̩̳̱̾w͎̭̤͍͇̰̄͗ͭ̃͗ͮ̐o̢̯̻̰̼͕̾ͣͬ̽̔̍͟ͅr̢̪͙͍̠̀ͅǩ̵̶̗̮̮ͪ́? ̙͉̥̬͙̟̮͕ͤ̌͗ͩ̕͡
Jawaban:
Teks menggunakan menggabungkan karakter, juga dikenal sebagai menggabungkan tanda. Lihat bagian 2.11 dari Menggabungkan Karakter dalam Standar Unicode (PDF).
Dalam Unicode, rendering karakter tidak menggunakan model sel karakter sederhana di mana setiap mesin terbang masuk ke dalam kotak dengan ketinggian tertentu. Menggabungkan tanda dapat diberikan di atas, di bawah, atau di dalam karakter dasar
Jadi Anda dapat dengan mudah membangun urutan karakter, yang terdiri dari karakter dasar dan tanda "menggabungkan di atas", dengan panjang berapa pun, untuk mencapai ketinggian visual yang diinginkan, dengan asumsi bahwa perangkat lunak rendering sesuai dengan model rendering Unicode. Urutan seperti itu tentu saja tidak memiliki makna, dan bahkan seekor monyet pun dapat memproduksinya (misalnya, diberi papan ketik dengan driver yang sesuai).
Dan Anda dapat mencampur tanda "menggabungkan di atas" dan "menggabungkan di bawah".
Teks sampel dalam pertanyaan dimulai dengan:
H
ͭ
̓
̓
̇
sumber
U+1F4A9
,.Teks Zalgo berfungsi karena menggabungkan karakter. Ini adalah karakter khusus yang memungkinkan untuk memodifikasi karakter yang datang sebelumnya.
ATAU
y + ̆ = y̆ yang sebenarnya
Karena Anda dapat menumpuknya di atas yang lain, Anda dapat menghasilkan yang berikut:
y̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆
yang sebenarnya adalah:
Hal yang sama berlaku untuk meletakkan barang-barang di bawahnya:
y̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆̆
yang sebenarnya adalah:
Di Unicode, blok utama menggabungkan diakritik untuk bahasa Eropa dan Alfabet Fonetik Internasional adalah U + 0300 – U + 036F.
Lebih lanjut di sini
Untuk menghasilkan daftar yang menggabungkan tanda diakritik Anda dapat menggunakan skrip berikut (karena tautan terus mati)
Periksa juga mereka
Mͣͭͣ̾ Vͣͥͭ͛ͤͮͥͨͥͧ̾
sumber
ALT
kode maka Anda tidak dapat melakukan itu Anda hanya akan menempel diy̆̆
mana ia masuk ke html 'murni' dan browser akan melakukan itu ajaib ...