Как визуализировать текст Zalgo в C#
DrawString в GDI+ не может отображать верхние и / или нижние индексы Юникода. Он показывает их как квадраты и не складывается.
Рисуется с помощью DrawString
private void Form1_Paint(object sender, PaintEventArgs e)
{
String text = "ă̡͈̘̠͕̺̯̖̤̺͇̫̗͓̗̤̩̜̩̯̝ͥͪ̍ͯͥ͒ͫ͛ͮ̿ͥ͛́́̈͒ͯ͊̇̿ͪ̓́̋ͨ̌͗̀̾̃ͧ̋͗ͣͦ̑̈̆̚҉̶̸̶̶̷̷̶̸̨̧̧̨̛̛̕͘͘̕͘͜͟͜͜͡͞͠͠͠͏̴̷̴̡̢̀͟͝͠s̸̢̨̥͚̲̝̝̗̤͇͓̫̝͍̥͓̳͕̰̰̙͖̅̾ͨ͗̈́͌̽̋̇ͦ̃͌͌͌̎̃̒̂̆̌ͤ͗̌͂̿̃̋̈́ͦ͂͋͂̽ͪͣ͂ͩ̓̈͆̀͢͜͟͡͠͠͝҉̶̶̧̨̡̧̧̛́́́́̀͘͘̕͢͜͢͢͠͞͠҉́̕͢͝d̵̴̡̡̢̛͙̞̭̲̺̖̯̳̙̞͇͓̖͙̩̩̗̝̮̉̿ͦ͒̓̑̉ͫ̇͒̓̎ͨ̎ͪ̂ͨͨ̿͛͊͛͛͂͐ͭ̄͑̔̄̋̆ͪ̀ͫ͌̉̍́̚̚͘͘͘͟͢͢͞͠͠ͅ҉̴̷̶̶̸̧̢̧̡̢̧̨̛̕͘͘͘͘͘͢͟͡҉f̸̶̵̤̮͚͔̟̮̗̺͖͉̪͔̫͎͓̱̟̰̹̩̈̊ͮͦͯ̅̊ͨ́͊̔ͪ̐ͤ͌̑͋̈́̐͆ͦ̿͌̐̓͐̌͂̅ͩ̄͊͐ͨ̄̄̈́̆̚̚͜͏͏̵̸̧̧̛̛͞͡͡͏̡͘͟͠͏̸̶͏͟͡͞͏̸̡͝͏͠͞͏̴͡͏̢͝";
e.Graphics.DrawString(text, new Font("Arial Unicode MS", 12), Brushes.Black, 30, 30);
}
Рисуется с помощью TextRenderer
TextRenderer.DrawText(e.Graphics, text, new Font("Arial Unicode MS", 12), new Point(30, 30), Color.Black);
Нарисованный Firefox
Как FireFox удалось нарисовать это правильно?
Данные, которые я использую - http://pastebin.com/p5Cp3qUM
1 ответ
Решение