Перейти к содержимому

Zalgo Text Generator

Генерируйте пугающий текст Zalgo, используя символы Unicode с диакритическими знаками.

Об этом инструменте

Zalgo-текст — это необычное явление Unicode, которое добавляет накладываемые диакритические знаки над, под и сквозь буквы обычного текста, создавая намеренно глитчевый и жуткий визуальный эффект. Этот метод использует символы-объединители Unicode в диапазоне U+0300–U+036F, невидимые отметки, которые прикрепляются к предыдущим символам и расширяют границы текста непредсказуемым образом. Эстетика получила популярность благодаря интернет-мемам и сообществам с темой ужаса, где хаотичный вид идеально отражает ощущение цифровой порчи или сверхъестественного нарушения.

Использование генератора Zalgo-текста просто: просто введите или вставьте свое сообщение в поле ввода, выберите желаемый уровень интенсивности (низкий для тонких отметок, средний для классического жуткого эффекта или высокий для подавляющего хаоса), выберите направление отметок (выше, ниже или оба), и нажмите генерировать. Инструмент обрабатывает каждый символ независимо, добавляя случайные комбинации объединяющих диакритических знаков для создания уникального результата каждый раз. Затем вы можете скопировать созданный текст и вставить его в любое место, которое поддерживает стандартный Unicode: посты в социальных сетях, приложения обмена сообщениями, игровые чаты или проекты творческого письма.

Имейте в виду, что хотя Zalgo-текст технически является допустимым Unicode и будет отображаться в большинстве современных браузеров и приложений, некоторые платформы могут ограничивать или фильтровать объединяющие символы по соображениям безопасности или читаемости, поэтому эффект может отображаться не везде идеально. Удовольствие от Zalgo-текста заключается в его непредсказуемости и в ударе, вызванном трансформацией чистого, читаемого текста в восхитительно хаотичное. Украшаете ли вы жуткое объявление, создаете ли внутреннюю шутку или просто экспериментируете с причудливыми возможностями Unicode, этот инструмент дает вам полный творческий контроль над степенью визуального хаоса, который вы хотите развязать.

Часто задаваемые вопросы

Реализация кода

import random

COMBINING_UP = list(range(0x0300, 0x0316)) + list(range(0x033D, 0x0345)) + list(range(0x034A, 0x034D))
COMBINING_DOWN = list(range(0x0316, 0x0333)) + list(range(0x0339, 0x033D))
COMBINING_MID = list(range(0x0334, 0x0339)) + [0x0333]

def zalgo(text: str, intensity: int = 2, direction: str = 'both') -> str:
    counts = {1: (1, 1, 1), 2: (3, 3, 2), 3: (8, 8, 5)}
    up_n, down_n, mid_n = counts.get(intensity, (3, 3, 2))
    result = []
    for char in text:
        result.append(char)
        if direction in ('up', 'both'):
            result.extend(chr(random.choice(COMBINING_UP)) for _ in range(random.randint(1, up_n)))
        if direction in ('down', 'both'):
            result.extend(chr(random.choice(COMBINING_DOWN)) for _ in range(random.randint(1, down_n)))
        result.extend(chr(random.choice(COMBINING_MID)) for _ in range(random.randint(0, mid_n)))
    return ''.join(result)

print(zalgo('Hello', intensity=2, direction='both'))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.