А во сколько лет вы узнали
Latinica - progress!
Èto soobščèstvo o latinicè, pisʹme, kotorojè očènʹ perspektivno dlâ ispolʹzovanija jazykami bez rodnyx sistem pisʹma. (Rodnoj sistemoj pisʹma javlâjètsâ liš ta sistema, kotoraja byla sozdana neposredstvenno dlâ ètogo jazyka). Latinica posle revolûcii v Rossii sovetami predlagalasʹ dlâ russkogo jazyka, čto bylo odnim iz putej progressa.
Glavnojè pravilo — ne oskorblâtʹ. Oficialʹno prinâtaja v soobščèstve pisʹmennostʹ dlâ russkogo jazyka — naučnaja latinica russkogo jazyka. (Perevodčik na dannuju latinicu: https://lingojam.com/latinizacijarusskogojazyka).Privetstvujutsâ posty o projèktax latinizacii kakix-libo jazykov.
Pri ètom važno otmetitʹ, čto èto obuslovleno naučnym i istoričèskim ispolʹzovanijèm latinicy, no ni v kojèm slučajè ne kakoj-libo populârnostʹju anglijskogo jazyka, kotoryj byl prestupno raznesën kolonizacijèj.
Aa Bb Vv Gg Dd Ee Ëë Žž Zz Ii Jj Kk Ll Mm Nn Oo Pp Rr Ss Tt Uu Ff Xx Cc Čč Šš ŠČšč ʺ Yy ʹ Èè Ûû Ââ
DSL KeyPad — ввод 6300+ символов Юникода@0.1.7.3 альфа
В предыдущем посте я рассказала о программе, позволяющей вводить тысячи символов Юникода с клавиатуры рядом способов: клавиатурные привязки, режим «Композиции» (аналог «Compose»), функция «Поиска». Понемногу продолжаю улучшать и расширять её возможности, а в этом посте описаны основные изменения за серию обновлений (0.1.3.2 α >>> 0.1.7.3 α).
Для быстрой справки: библиотека программы состоит из внушительного перечня символов латиницы, кириллицы, греческого, ряда исторических форм письменности и иных различных символов: валютные, математические и пр. GitHub репозиторий с релизами тут.
Это позволяет писать на внушительном перечне языков, имея лишь английскую и русскую раскладки, и иметь под рукой символы под разные нужды. Нужен интеграл? «Поиск» → запрос «интеграл» → вставит в поле ввода «∫».
Что нового?
В общем библиотека символов возросла с 4700+ до 6300+ символов.
Добавлены новые формы письменности, чьи наборы привязок доступны в «Альтернативном вводе»:
Пополнились и «Вариации глифов». Новыми альтернативными формами символов стали:
Региональные индикаторы (позволяют вводить символы, формирующие флаги: 🇻 🇦 🇧 🇬 🇰 🇿 🇷 🇺 🇲 🇩 🇷 🇸 → 🇻🇦🇧🇬🇰🇿🇷🇺🇲🇩🇷🇸)
Теги (как я поняла, это устаревшие символы для разметки, ныне используются для записи ещё ряда флагов: 🏴<теги gbwls/gbsct/gbeng><закрывающий тег> → 🏴 🏴 🏴 дадут флаги Уэльса, Шотландии и Англии [сами теги невидимы при вводе])
Символы в круге (Ⓒⓘⓡⓒⓛⓔⓓ ⓢⓨⓜⓑⓞⓛⓢ)
… в закрашенном круге (🅝🅔🅖🅐🅣🅘🅥🅔 🅒🅘🅡🅒🅛🅔🅓)
… в двойном круге (⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾)
… в квадрате (🅂🅀🅄🄰🅁🄴🄳 🅂🅈🄼🄱🄾🄻🅂)
… в закрашенном квадрате (🅽🅴🅶🅰🆃🅸🆅🅴 🆂🆀🆄🅰🆁🅴🅳)
… в скобках (🄟⒜⒭⒠⒩⒯⒣⒠⒮⒤⒮⒠⒟ ⒮⒴⒨⒝⒪⒧⒮)
… с точкой/запятой (⒈⒉⒊⒋⒌ | 🄂🄃🄄🄅🄆)
… контурные () [недоступны через селектор]
… сегментированные (🯱🯲🯳🯴🯵🯶🯷🯸🯹🯰) [недоступны через селектор]
Добавлены/расширены наборы тематических символов:
Алхимия, астрология и астрономия раньше были представлены 48-ю символами, теперь же набор состоит из 234-х символов.
С расширением этих наборов были улучшены генерация названий/тегов и поиск в главном окне.
Алхимические, астрологические и прочие символы могут нести ряд значений.
Пример: символ Юпитера «♃» в алхимии означает олово, и оба значения присутствуют в его тегах. При вводе «Олово» в строке поиска главного окна список отобразит «Алхимический символ элемент Олово» вместо стандартного названия «Астрологический символ планета Юпитер».
Улучшена логика отдельной функции «Поиска», вставляющей символы по запросу: теперь при вводе без пробела ищет цельное слово. Раньше ввод «олово» давал символ «〈» («восточная левая заголовочная кавычка»). Теперь олово даёт… олово ♃. Дополнение полезно и для ранее добавленных символов: теперь для получения альтернативных форм не нужно писать что-то в духе «!lat let a::mo» для получения надстрочной «ᵃ», теперь достаточно «!a::mo».
Дао, И-Цзин и Таосюань-Цзин (165)
Представлены следующими символами:
3 Монограммы: ⚊⚋ (И-Цзин) + 𝌀 (Тайсюань-Цзин)
9 Диграмм: ⚌⚍⚎⚏ (И-Цзин) + 𝌁𝌂𝌃𝌄𝌅 (Тайсюань-Цзин)
8 Триграмм: ☰☷☳☵☶☴☲☱ (И-Цзин)
81 Тетраграмма: 𝌆𝌇𝌈𝌉𝌊𝌋𝌌𝌍𝌎𝌏𝌐𝌑𝌒𝌓𝌔𝌕𝌜𝌝𝌞𝌟𝌠𝌡𝌢 … (Тайсюань-Цзин)
64 Гексаграммы: ䷀䷁䷂䷃䷄䷅䷆䷇䷈䷉䷊䷋䷌䷍䷎䷏䷐䷑䷒䷓䷔䷕ … (И-Цзин)
Дополнительно: стилизованные символы 🉠 удачи ⟨福⟩, 🉡 процветания ⟨祿⟩, 🉢 долголетия ⟨壽⟩, 🉣 счастья ⟨喜⟩, 🉤 любви/свадьбы ⟨囍⟩ и 🉥 богатства ⟨財⟩ (если они отобразились квадратиками — шрифт Noto Sans Symbols 2)
Вместе с ними добавлен и режим «Альтернативного ввода», но монограммы доступны и в стандартных привязках: RAlt + LAlt + 9 = ⚋⚊ / RAlt + LAlt + 0 = 𝌀.
Здесь также виден пример замены названия в списке: Тайсюань-Цзин разделяет монограммы «⚋⚊» и диграммы «⚏⚎⚍⚌» с И-Цзин.
Прочие наборы символов:
16 Геомантических фигур — пришли вместе с недавним релизом Unicode 17 (могут поддерживаться не везде).
Шахматные фигуры (31): ♔♕♖♗♘♚♛♜♝♞♟.
Карточные масти: закрашенные/контурные и эмодзи варианты ♠♥♦♣♤♡♢♧♠️♥️♦️♣️ (некоторые приложения/сайты могут принудительно преобразовывать закрашенные в эмодзи).
Игральные карты (81): 56 «обычных», 3 джокера, 1 дурак, 1 рубашка и 21 козырная карта «Таро Нуво» 🃘🃌🂽🂡🂠.
Плитки/кости Маджонг (43): 3 масти по 9 костей, 7 благородных костей, 8 цветов/сезонов, джокер Американского Маджонга 🀤🀖🀛🀄.
Фигуры Сянци (14): 🩠🩡🩢🩣🩤🩥🩦🩧🩨🩩🩪🩫🩬🩭.
Плитки домино (100), горизонтальные и вертикальные варианты 🁏🀽🁦🂓.
Другие дополнения
Расширен перечень прочих символов: кириллицы, латиницы и т.д.: ꜣ Ꜣ ꜥ Ꜥ ℥ ℈ ℀ ℁ ⅍ ℅ ℆ ℄ …
Для удобства работы с Международным фонетическим алфавитом добавлены отдельные вкладки для символов его «Альтернативного режима» и рецептов.
Вкладка «Помощь» пополнилась новой информацией.
Расширен набор поддерживаемых раскладок латиницы, в сумме: QWERTY, AZERTY, Asset, Blaze, Canary, Colemak, Dhorf, Dvorak, Engrammer, Focal, Gallium, Graphite, Halmak, JCUKEN, Kuntem, Nerps, Norman, Pine, Qwickly, Rain, Recurva, Stronk, Sturdy, Workman.
Расширен набор поддерживаемых раскладок кириллицы, в сумме: ЙЦУКЕН, Диктор, ИІУКЕН (1907), ЯШЕРТЫ, Харламак, Рулемак.
Наиболее важные изменения и исправления
Режим «Композиции» теперь поддерживает кастомизацию: размер шрифта, шрифт, цвет текста и фона, ограничения символов для обрезки подсказки, возможность отключить отображение избранного, предложений и выбор показа альтернативных рецептов совпадающих символов (вкл: покажет все рецепты для совпавшего символа, выкл: покажет только текущее совпадение).
Селектор для Альтернативных режимов также заимел немного кастомизации: количество выводимых пунктов на страницу, максимальное количество колонок и порог, когда они активируются; возможность использовать цифровые клавиши.
Исправлена ошибка при запуске на Windows 11 (появившаяся в версии 0.1.5.3 α), а так же невозможность ввода символов привязок в поле «Композиции» на этой же ОС.
Исправлена критическая ошибка в режиме «Композиции», вызываемая вводом символов «?+()[]».
Исправлена ошибка при использовании в пользовательских рецептах мультиссылок формата ${\m,u,l,t,i/}: раньше при запуске программы такая ссылка сравнивалась в лоб, вместо разбора на отдельные и сравнения каждой.
Исправлены ошибки, связанные с добавление в избранное и удаления из него.
Исправлен недостаток режима «Композиции» из-за которого был невозможен ввод рецептов с символами из суррогатных пар (символы с кодовой точкой из пяти значений, представляют из себя два символа: 🜍 = U+1F70D = U+D83D и U+DF0D).
Теперь в режиме «Композиции» показывается символ, соответствующий текущему режиму «Вариации глифов».
Изменения для модификаций: изменения файла информации о моде; добавлена возможность создать базовый шаблон мода прямо из окна модификаций; теперь создатель мода может добавить локальные настройки и они будут доступны через соответствующую кнопку в окне модификаций, однако интерфейс окна настроек необходимо будет создать самому
Появился вспомогательный класс «ModTools», автоматически инициализируемый в экземпляре класса мода при его создании через интерфейс и содержит сейчас следующие параметры: origin (директория мода); dirName (имя директории); paths.data/locale/lib/resources (пути до локальных папок); config (экземпляр класса для управления настройками: Set/Get); config_editor (переменная для назначения в неё GUI окна настроек мода). Под изменения системы модификаций был обновлен мод-пример.
Более мелкие исправления включают в себя изменение ошибочных рецептов, ошибок параметров отдельных символов, исправление ошибок в обработке записей символов, добавление пропущенных привязок и прочие улучшения.
Что дальше?
Продолжу улучшать программу и пополнять её новыми/пропущенными символами, а возможно и новыми фичами.
— Но… зачем это мне?
Мой инструмент может быть полезен, если вы:
Лингвист/филолог, пользуетесь Международным фонетическим алфавитом, интересуетесь семитскими и анатолийскими языками; с учётом охвата латиницы и рун можно упомянуть и германские языки (Древнеанглийский [Ænglisċ], Древнескандинавский [Dǫnsk tunga / Norrœnt mál] и пр.); а с учётом кириллицы и глаголицы — Старославянский язык [Словѣньскъ ѩꙁꙑкъ].
Составляете конланги на основе существующих форм письма.
Пишите на трёх и более языках, при этом ища альтернативы обычным языковым раскладкам (например, мне самой не удобно, когда одна графема на раскладках разных языков — в разных местах, пусть это и логично).
Занимаетесь типографикой/дизайном и вас не удовлетворяет арсенал «Типографской раскладки» (здесь намного больше разных пунктуационных знаков, вариаций пробела и т.д.; ещё в программе есть и своя функция «Оттипографить»).
А может даже интересуетесь темой оккультизма, алхимии, гадательных практик и хотели бы использовать соответствующие символы без Ctrl+C Ctrl+V и карт символов.
Или просто нуждаетесь в символах, обычно недоступных на клавиатуре/доступных только с Alt+XXXX комбинаций.
«Ограничения и нюансы» остаются такими же, как описаны в предыдущем посте, однако после контентных добавлений потребление ОЗУ в пике может дойти до 190 МБ (раньше 180, первичный запуск программы + первичный запуск главного окна) (без учёта модов и пользовательских рецептов).
Дубль ссылок на предыдущий пост и GitHub-репозиторий.
🜍♅ Спасибо за прочтение ♅🜍
Ох, и дал я маху…
В рубрике «Ребреднинг» прибыло! Всё чаще упоминают (и устанавливают) отечественный мессенджер «Макс». Его название пишут латиницей — «Max». Я полагал, что такое начертание и в самом логотипе этого приложения, благодаря чему может возникнуть путаница в прочтении, потому что все эти буквы в таком виде есть и в кириллице, и в латинице. Из-за этого название можно прочитать и как «макс», и как «мах».
Изначально я хотел в рамках этой рубрики предложить сменить название на русское «мах», а также сделать первую букву строчной, чтобы оно читалось однозначно (ведь начертания строчных «м» и «m» различаются, в отличие от их заглавных версий). Каково же было моё удивление от того, что при фактическом использовании латиницы, первая буква в лого представлена в виде строчной кириллической «м».
Мне и так было непонятно, зачем здесь было использовать латиницу, но в таком виде это совсем не поддаётся объяснению...
И для чего все эти законы про запреты латиницы, если потенциально главный мессенджер (сообщатель, сообщник?) «всея Руси» называется латинскими буквами с латинским корнем? Русский «мах» даже по смыслу подходит куда больше — как здорово было бы всем махом созваниваться, махом что-то отправлять и т.п.
В моём предложении графически ничего в логотипе не изменилось, но читается название теперь по-другому)
Ну да ладно, что-то я дал маху...
Сбрендил для вас,
Антон Логотиппер
DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры
Программа даёт доступ к внушительному перечню символов Юникода прямо с клавиатуры. Основной фокус — увеличение охвата латиницы и кириллицы без надобности в отдельных языковых раскладках, помимо английской и русской. Но этим инструмент не ограничивается.
Написана на AutoHotkey v2
Прескриптум: из-за отсутствия элемента блока кода все примеры кода будут ссылкой на GitHub Gist’ы.
Зачем? — У меня и самой был запрос на такую программу. Программу с кучей «нестандартных» символов. Существующие решения не отвечали моим потребностям и тогда я решила создать своё, подходящее под мои хотелки: многоязычный ввод, ввод типографских, математических и даже алхимических символов. И теперь я надеюсь, что сие «изобретение» окажется полезным не только для меня.
Такой инструмент необходим мне для разработки вселенной — построение канона культур, писательство и работа с языками. Создавать новые языки на основе существующих систем ныне будет проще — все нужные символы как на ладони.
Примеры названий языков и систем, написанные с помощью моей программы:
Қазақ тілі, Хуэйзў йүян, Забони тоҷикӣ, Йағнобӣ зивок, Аԥсуа бызшәа, Авар мацӏ, Українська мова, Словѣньскъ ѩꙁꙑкъ, Црногорски језик, Лимба Рꙋмѫнѣскъ, Итәнмәӈин крвэԓхатас, Даһур Усүүэ, Азәрбајҹанҹа, Башҡорт теле, Тэлэңгэт, Чӑваш чӗлхи…
Ænglisċ sprǣċe, Français, Tiếng Việt, Hànyǔ Pīnyīn, Norrœnt mál, Limba Română, Español, Język polski, Čeština, Bokmål, Tamaziɣt, Türkçe, Sää’mǩiõll…
Установка и репозиторий
Репозиторий проекта на GitHub: DSL-KeyPad
Установка:
Во-первых, необходимо установить сам AuotHotkey 2.*, скачав с соответствующего сайта или через терминал:
winget install AutoHotkey.AutoHotkey
Затем:
Выбрать самую последнюю версию DSL KeyPad из релизов репозитория или скачать с SourceForge.
Распаковать содержимое архива куда угодно — это и будет директорией установки.
Запустить DSLKeyPad.exe или DSLKeyPad.ahk файл.
При необходимости в настройках можно установить автозагрузку при старте системы.
*При перемещении папки необходимо будет снова установить автозагрузку, т.к. путь не обновляется автоматически.
Нужен шрифт Noto Serif, но при его отсутствии программа сама предложит установку.
Краткий экскурс
Идея «DSL KeyPad» родилась, как было упомянуто выше, из собственной потребности в «нестандартных» символах. Сначала я пользовалась «Типографской раскладкой» Ильи Бирмана (и пользуюсь по сей день в паре со своим инструментом), но этого мне оказалось мало — она не давала мне всего необходимого.
Работа над книгой стала отправным толчком: мне хотелось использовать в ней буквы «Ў», «Ӯ», «Ӣ», «Ō» и пр.: Сўкэнори, «Записи времён Тōбō» (Tōbō nendai-ki), Фӯдзин. Я искала и пробовала другие решения — например, WinCompose, — но по итогу это привело меня к мысли «всё не совсем то». Тогда я уже занималась написанием своего скрипта, ещё совсем простого, и продолжила его развивать.
Первая версия была до банальности примитивной, ~20 биндов формата обычных привязок:
<^<!m:: Send("{U+0304}") ; Combining macron
<^<!b:: Send("{U+0306}") ; Combining breve
…
<^>!>+1:: Send("{U+2003}") ; Em Space
<^>!>+2:: Send("{U+2002}") ; En Space
…
<^<!e:: Send("{U+045E}") ; (Ў)
…
Со временем мою голову начали посещать всё новые идеи и желание хотя бы попробовать их реализовать. Желание сделать что-то сложнее, разнообразнее, и что могло бы охватить все мои потенциальные символьные хотелки. Как итог — процесс, конечно, сильно затянулся, да получился какой-то монструозный ООП’оид, но результатом я довольна (есть что улучшать, и я буду это улучшать по мере возможности).
Думаю тут же следует упомянуть, что я не программист. Максимум кодер. В начале разработки так вообще была утёнком тем ещё и бегала частенько к нейронке (с которой контакт заладился плохо — не умел гпт с автохоткеем нормально помочь… и хорошо — лишний пинок самой думать над кодом).
Краткий перечень возможностей
Как описано в заголовке — поддержка более 4 700 символов Юникода, включая: пунктуацию, математические символы, символы валют, специальные символы, алхимические и т.д.
«Многослойный» набор привязок, в основном — раздельных для английского и русского языков ([англ.] RAlt + A → Ă, RAlt + Z → Ż [рус.] RAlt + Ф → Ѳ, RAlt + Я → Ѧ). Включает поддержку пользовательских привязок в JSON‐формате.
Режим композиции — активируется двойным нажатием RAlt и позволяет получать одни символы из последовательности других («рецепта») (AE → Æ OE → Œ A◌̆◌́ → Ắ ІѪ → Ѭ ДЧ → Ԭ ΣΤ → Ϛ, αͺ → ᾳ). Включает поддержку пользовательских рецептов в INI/JSON/XCompose форматах.
Альтернативные режимы ввода для форм письменности, отличных от латиницы и кириллицы (греческая письменность, руническая, глаголица, финикийская, этрусская, тюркская, пермская и пр. виды письменности; включает и Международный фонетический алфавит).
Вариации глифов — режимы, позволяющие вводить альтернативные варианты символов (A → ᴬ 𝐴 𝐀 𝑨 𝖠 𝘈 𝗔 𝘼 𝙰 ᴀ 𝔄 𝕬 𝒜 𝓐 𝔸). Интерфейс схож с предыдущим пнуктом, но сама фича работает чуть-чуть иначе.
Переключение режима ввода между символами Юникода [Ă Ǣ], HTML-энтити/мнемоники [Ă Ǣ] и LaTeX [\u{A} \={\AE}] (если LaTeX команды нет — введёт символ Юникода) (RAlt + RShift + F1).
Поиск символов по «тегам». У большинства из символов локальной библиотеки есть два и более тегов, по сути, представляющих из себя варианты названий, которые можно вводить как полностью, так и частично, чтобы получить результат (прописная буква Еры глаголицы или гла еры → ⰟⰊ).
Внутренние раскладки клавиатуры, позволяющие использовать отличное от QWERTY/ЙЦУКЕН расположение привязок. Включает поддержку пользовательских раскладок в JSON‐формате.
Вспомогательные TELEX/VNI-подобные режимы ввода для вьетнамского языка (с щепоткой джарайского) и для пиньиня.
Мини-режимы для ввода надстрочных/подстрочных символов цифрового ряда (LWin LAlt + ↑/↓), при этом CapsLock зеркалит вводимые символы (при активном надстрочном режиме — активация CapsLock заставит вводиться подстрочные, и наоборот).
Мини-режим для ввода римских цифр (отдельных символов Юникода) (LWin LAlt RShift + ↑): ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ…
Возможность добавлять символы в избранное. Избранный символ будет выделяться в списке символом ★, а его рецепт (если он есть) будет всегда отображаться в подсказке режима композиции.
Поддержка модификаций. Возможно добавление, например, собственного «Альтернативного» или TELEX/VNI-подобного режима к уже существующим.
И другие, менее значимые возможности…
Подробнее об основных возможностях
Многослойные привязки, они же «Быстрые ключи»
Самое страшное. Их много, невероятно много, и опытный пианист, безусловно, справится с ними. Если верить .HotKeysCount()’у, то их более восьмисот. На каждой клавише может быть до 10–11-ти возможных комбинаций (если не считать комбинации с активным CapsLock за отдельные), но в среднем их около восьми (латинская I в этом чемпион: Ĭ Ï Ī Ĩ Î Ǐ Į İ Í Ì Ȉ).
Демонстрация
В случае необходимости их можно отключить/включить через RAlt + F1. Состояние сохраняется в файле настроек.
Инструмент создавался под полноразмерную клавиатуру — со стрелками, нампадом и т.д. Это может вызывать неудобства у пользователей других вариантов клавиатур, однако это можно сгладить через пользовательские привязки.
Некоторые комбинации были унаследованы от «Типографской раскладки»:
RAlt + Точка (/) — вводит многоточие [ … ],
RAlt + 1 | 7 — вводят перевёрнутые восклицательный и вопросительный знак [ ¡ ¿ ],
RAlt + 5 — вводит промилле [ ‰ ],
RAlt LAlt + 8 — вводит символ бесконечности [ ∞ ] (оригинальную комбинацию занял символ умножения [ × ], а потому для бесконечности в неё был добавлен левый Альт),
RAlt *(LShift) + Дефисо-минус — вводят длинное и короткое тире [ — – ],
RAlt + Равно — не равно [ ≠ ],
RAlt + Пробел — неразрывный пробел [ ].
Комбинации для вставки кавычек унаследованы ввиде Б (<) и Ю (>) как и в «Типографской раскладке», но имеют несколько отличное поведение:
RAlt + Б (<) | Ю (>) — вводят [ « » ], если активен русский язык, или [ “ ” ], если активен английский,
RAlt LAlt + Б (<) | Ю (>) — тоже, что и предыдущее, но языки поменялись местами,
RAlt LShift + Б (<) | Ю (>) — вводят [ „ “ ], если активен русский язык, или [ ‘ ’ ], если активен английский,
RAlt RShift + Ё (`) — дополнительная комбинация под [ ’ ] для использования в качестве апострофа.
Примеры уже собственных привязок:
RAlt + Клавиши стрелок — [ ←↑↓→ ],
RAlt + Пары клавиш стрелок (влево-вверх, вправо-вверх, влево-вниз и т.д.) — [ ],
RAlt LShift + Клавиши стрелок — [ ⮌⮍⮏⮎ ],
RAlt RShift + Клавиши стрелок влево/вправо — [ ↺↻ ],
RAlt RShift + Пробел — круглая шпация [ ],
RAlt LShift + Пробел — полукруглая шпация [ ],
RAlt LAlt + Пробел — тонкая шпация [ ],
RAlt + 9 | 0 — [ ⟨ ⟩ ],
RAlt + [ | ] — [ ⁅ ⁆ ],
RAlt LAlt LShift RShift + [ | ] — [ 《 》 ],
RShift *(CapsLock) + 1 — [ ‽ ⸘ ].
Комбинации, которые не будут отображены в интерфейсе:
Shift + 2, 3, 4, 6, 7 отзеркалены для языков на RShift, т.е. при английском LShift + 2 введёт [ @ ] (как обычно), а RShift + 2 — [ " ], на русском — наоборот.
2 (@"), 3 (#№), 4 ($;), 6 (^:), 7 (&?).
RShift *(LShift) + Х, Ъ введут скобки [] и {} соответственно.
Ещё есть «Вторичные» и «Третичные ключи», активируемые через RAlt LAlt + F1 и RAlt LAlt + F2. Это дополнительные привязки для символов, которые не влезли в основной пул, но им очень хотелось. Они пришли на замену са́мой первой, отбракованной «механике» инструмента — «Группам активации»: необходимо было нажать комбинацию для активации одной из «групп», а затем ввести символьный ключ желаемого знака.
Отключаются эти ключи повторным нажатием их комбинации, а состояние сохраняется в файле настроек.
Пользовательские привязки
Для создания привязок необходимо разместить <ФАЙЛ>.JSON в «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomBindings\» со схожей структурой: (см. «Пример.jsonc» в Gist)
Примечание: кодировка файла должна быть UTF-8.
Пользовательские привязки поддерживают следующие форматы: (см. «Форматы.md» в Gist)
И следующие типы значений:
// Обычный текст
"@<ТЕКСТ>"
// Ссылка на запись в библиотеке
"<ИМЯ ЗАПИСИ>::<ВАРИАНТ>×<КОЛИЧЕСТВО>"
Подробнее о формате ссылки на запись см. в блоке о пользовательских рецептах.
Модификаторы: < и > указывают «левый» или «правый», ^, !, + — Ctrl, Alt, Shift. Для RAlt нужно использовать конструкцию <^>!.
После создания пресета его можно будет выбрать в окне настроек либо после перезапуска программы, либо после нажатия кнопки рядом с выпадающим списком в окне настроек.
Режим композиции
Вдохновлён клавишей Compose из Linux и WinCompose. Преобразует последовательность одних символов во что-то другое.
Активируется двойным нажатием RAlt. Ввод пользователя будет отображаться во всплывающей подсказке вместе с предложениями совпадений и списком рецептов избранных символов.
Демонстрация
Введение «композиции» дало больше простора для ввода. Клавиатура не резиновая и не может уместить бесконечное число привязок. Композиция же принимает любой ввод, в том числе и от «Быстрых ключей», что даёт большу́ю вариативность в рецептах и доступ к бо́льшему количеству символов напрямую с клавиатуры.
Режим композиции срабатывает на первое точное совпадение рецепта. Это и плюс и немного минус — такое поведение не позволит ввести, например, Ǣ из-за автоматического срабатывания AE → Æ. Для решения этой проблемы я ввела режим удержания (клавиша Pause), при котором композиция ждёт нажатия Enter или снятия с удержания.
Помимо режима удержания можно использовать «оператор» гравис [ ` ]. Он не отменяет автоматическое срабатывание, но сохраняет его результат в переменной активной композиции вместо отправки в окно приложения. Это позволяет продолжить последовательности, если есть рецепты, начинающиеся с полученного результата. Ǣ = A`E → Æ → Æ<МАКРОН>.
Общий перечень клавиш:
Enter — подтвердить ввод.
Escape — отменить режим композиции.
Backspace — стереть последний символ.
Insert — вставка содержимого буфера обмена.
Pause — переключение удержания.
Операторы
Гравис [ ` ] — описан выше.
(ЧИСЛО) — при начале ввода с такого оператора результат рецепта будет продублирован указанное число раз, «(5) TH» → «ÞÞÞÞÞ».
(~) — при начале ввода с такого оператора можно вводить целые слова, внутри которых будут обработаны рецепты, «(~) T<ЗАПЯТАЯ СНИЗУ>ara Roma<ЦИРКУМФЛЕКС>neasca<КРАТКА>» → «Țara Românească».
(ЧИСЛО~) — объединение предыдущих операторов.
## — позволяет предотвратить обработку нежелательных последовательностей, «(~) tho<АКУТ>rr» → «þórr», «(~) t##ho<АКУТ>rr» → «thórr».
Ввод кодовых точек Юникода и Альт-кодов
Режим композиции можно использовать для вставки символов по их кодам. Ввод начинается с U+/Ю+ или A+/А+, а после — значение. Можно указывать множество значений, разделяя их пробелом.
На альт-коды влияет язык активной раскладки: числа 128–255 и 0128–0255 используют страницы 850/Windows−1252 для английской раскладки, 866/Windows−1251 для русской, 737/Windows−1253 для греческой, Windows−1258 для вьетнмаской.
Альт-коды можно вводить в шестнадцатеричном формате: A+0B9 = A+0185 → № (Windows−1251). Для этого ввод должен содержать букву из диапазона A–F. Верхняя граница — A+FF (A+255).
Пользовательские рецепты
Как «вручную», так и через окно интерфейса можно создавать свои рецепты для композиции. Результат может быть сколько угодно объёмным многострочным текстом, но не рекомендую вставлять туда через чур большой текст.
При первом запуске создаётся несколько рецептов для демонстрации — шаблон HTML, иероглиф «義», тег <kbd> и эмодзи «».
Основной файл представлен в JSON‐формате, «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomRecipes.json». Можно добавлять и дополнительные файлы рецептов в INI (UTF-16 LE) или JSON (UTF-8) форматах, размещая в директории «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomRecipes\». Рецепты оттуда будут автоматически загружены при старте программы или при нажатии кнопки обновления в окне «Мои рецепты».
Поддерживается подгрузка последовательностей из файлов формата XCompose. Их небходимо помещать в директорию «DSLKeyPad\User\profile-<ПРОФИЛЬ>\XCompose\». Файл должен заканчиваться расширением «.XCompose»
Примечание: поддерживаются только простые последовательности XCompose, как, например, «<Multi_key> <g> <r> <i> <n> : ""» или «<Multi_key> <U1100> <U1100> : "ᄁ" U1101 # HANGUL CHOSEONG SSANGKIYEOK». При первом запуске в демонстрационных целях по указанному пути создаётся файл «demo.XCompose» с последовательностью «<Multi_key> <0> <0> : "∞"».
Пример дополнительного файла рецептов
Примеры в форматах INI и JSON (GitHub Gist)
Формат ссылки на записи
${<ИМЯ ЗАПИСИ>::<ВАРИАНТ>×<КОЛИЧЕСТВО>} — ссылка, обращающаяся к записи библиотеки, если та существует. Через «::» можно задать «вариацию» (${digit_1} → «1» | ${digit_1::superscript} → «¹»). В конце ссылки через символ «×» можно указать количество повторений вывода записи (${digit_1::superscript×10} → «¹¹¹¹¹¹¹¹¹¹»).
Одной ссылкой можно обратиться сразу к нескольким записям, помещая названия или их часть в \/ конструкцию, например: ${lat_c_let_\b,o,l,d/::bold} → 𝐁𝐎𝐋𝐃, ${\hel,lat/_c_let_a_alpha} → ΑⱭ, ${\nabla,delta,integral,square_root/} → ∇∆∫√.
Ссылки можно использовать и между пользовательскими рецептами для создания зависящих друг от друга рецептов, например:
[white_heart]
name=Белое сердце
recipe=бср|whr
result=
[white_heart_triple]
name=Три белых сердца
recipe=3бср|3whr
result=${white_heart×3} ; вставляет результат первого рецепта трижды
Для <Вариантов> существуют альтернативные формы записи для удобства/сокращения:
Bold — полужирный, п, b
Italic — курсив, ку, it
ItalicBold — курсив полужирный, куп, itb
Modifier — верхний индекс, ви, sup
Superscript — верхний индекс, ви, sup
Subscript — нижний индекс, ни, sub
Fraktur — фрактур, ф, f
FrakturBold — полужирный фрактур, пф, fb
Script — рукописный, р, s
ScriptBold — полужирный рукописный, пр, sb
DoubleStruck — ds
SansSerif — без засечек, бз, ss
SansSerifItalic — курсив без засечек, кубз, ssit
SansSerifItalicBold — курсив полужирный без засечек, купбз, ssitb
SansSerifBold — полужирный без засечек, пбз, ssb
Monospace — моноширинный, м, m
Fullwidth — полноширинный, пш, fw
SmallCapital — капитель, к, sc
SmallCapitalModifier — капитель-модификатор, км, scm
Small — маленькая, мал, sm
Combining — комбинируемый, ко, c
Uncombined — некомбинируемый, неко, uc
Для дополнительных файлов рецептов есть возможность добавлять несколько параметров для всех содержащихся в них рецептов (указываются вручную в начале файла):
[options]
; последовательность, устанавливаемая в начало всех рецептов в файле
prefix=<ПЕРФИКС>
; отключает добавление пробела после префикса
no_whitespace=1
; … рецепты
[
"options": {
"prefix": <"ПЕРФИКС">,
"no_whitespace": 1
},
// … рецепты
]
Если в файле есть двойные (и более) рецепты (например «лёд|ice»), для них можно задать и подобного вида префиксы (одинарные рецепты всегда берут первый из префиксов):
[options]
prefix=эмодзи|emoji
[recipe_name]
name=Лёд
; потребует ввода «эмодзи лёд» или «emoji ice»
recipe=лёд|ice
result=
PS. Не рекомендую использовать больше 1 500 пользовательских рецептов (что очень легко получить с XCompose-файлами). Сейчас такое может ощутимо замедлить инициализацию программы, но возможно у меня получится это оптимизировать.
Альтернативный ввод
Комбинация: LWin + LAlt + S (селектор)
По сути — просто наборы активируемых привязок для целого перечня форм письменности/алфавитов, в основном отличных от латиницы и кириллицы.
Примечание: наборы привязок используют клавиши латиницы и кириллицы, т.е смена «внутренней» раскладки влияет на них.
Некоторые формы письменности активируются парами — одна письменность работает на латинской раскладке, другая на кириллической. В остальном режимы одиночны, работают сразу на нескольких языковых раскладках, но предназначены именно для латинской (в особенности режимы с вводом слогов).
Эллинское письмо (оно же — греческое) — позволяет вводить как символы современного греческого алфавита, так и древнегреческие знаки с добавлением прочих различных символов, относящихся к нему, например:
αάὰὰἀᾳᾱᾰἅἄἃἂἇἆ ΐ ϐϕϱϖϰϲϵ
· ; ⸒ ⸏ ⸐ ⸑ ⸎ ⸔ ⸕ ⸓ ⸖ ʹ ͵ ₯От стандартной греческой раскладки отличается типичным для английского расположением небуквенных символов и наличием коппы и дигаммы (Ϟ Ϝ) на месте Q W (; ς на греческой раскладке). Здесь знак ς вводится комбинацией LAlt Σ (S).
Положение привязок не изменяется при смене латинской/кириллической раскладки — для Эллинского письма введена собственная раскладка, однако изменить её нельзя (ну, льзя, просто не посчитала нужным добавить пункт выбора в GUI настроек).
Германские руны — позволяет вводить руны Старшего Футарка, Англосаксонского Футорка, Младшего Футарка, Средневековые руны, «Золотые числа» 17–19 Рунического альманаха (ᛮᛯᛰ), Руны с Ларца Фрэнкса и ещё три руны Толкина за компанию. Ну и значки пунктуации (᛫᛬᛭).
Глаголица — основывается на кириллической раскладке и позволяет вводить как простые буквы глаголицы, так и комбинируемые и соответствующую диакритику. Включается в пару с «Германскими рунами».
И прочие, уже указанные на скриншоте формы письменности и алфавитов: Древнетюркское письмо, Древнепермское письмо (кириллическая раскладка, в паре с Древнетюркским), Секейское письмо, Готское письмо, Этрусское письмо (древнеиталийское, включает символы не только этрусского алфавита), Финикийское письмо, Южноаравийское письмо, Североаравийское письмо, Карийское письмо, Ликийское письмо, Лидийское письмо, Сидетское письмо (на данный момент введён режим и записи библиотеки символов, но официально Сидетская письменность будет введена в Юникод с релизом Unicode 17.0 минимум 9-го сентября, потому пока будут квадратики вместо букв и шрифты найти не получиться), Кипрское слоговое письмо, Тифинаг, Угаритское письмо, Древнеперсидское письмо, Международный фонетический алфавит, Дезеретский алфавит, Алфавит Шоу и режим для ввода математических символов.
Полный охват для каждого режима не гарантирую, но при обнаружении новых или упущенных мной символов — режим будет дополнен.
Вариации глифов
Комбинация: LWin + LAlt + A (селектор)
Имеет такой же селектор, как у «Альтернативного ввода», но вместо набора привязок указывает программе, какой вариант символа нужно использовать. У записей библиотеки есть атрибут, в котором прописаны варианты — полужирный, курсивный, капитель и т.д. Такие символы не представлены отдельными записями, являясь лишь свойством. Это делает «Вариации глифов» легко совместимыми с фичами, полагающимися на создание привязок.
Если в записи символа отсутствует указанный вариант — будет послан «обычный» символ.
В главной панели под предпросмотром символа будут отображаться первые восемь из доступных вариантов, а справа от предпросмотра активируется кнопка, открывающая GUI для просмотра всех вариантов (которое так же можно открыть через меню трея → Вариации глифов → Панель вариации глифов):
TELEX/VNI-подобный ввод
Режимы, основанные на вьетнамских TELEX и VNI раскладках для облегчения ввода, собственно, вьетнамского (с добавлением букв джарайского алфавита) и пиньиня.
Комбинации: RAlt + F2 (Вьетнамский), RAlt + RShift + F2 (Пиньинь) / LWin + LAlt + D (селектор)
Демонстрация
Для ввода букв с диакритикой необходимо вводить последовательность символов, например: AWS → Ắ (A → Ă → Ắ), A5 → Ẫ, DD→ Đ, BB → Ƀ, UONGW → ƯƠNG, UONG5 → ƯỠNG. Для отмены слипания последовательности можно использовать \, A\W → AW вместо Ă или повторно ввести последний символ (AW → ĂW → AW). Последнюю введённую диакритику можно отменить вводом Z (ǕZ → ÜZ → U).
Можно менять диакритику уже введённого символа, если не перемещать каретку: ẰS → Ắ, ẮA → Ấ, ẤJ → Ậ, ẬR → Ẩ…
Демонстрация
Перечень символов режимов
Tiếng Việt: Á À Ả Ã Ạ Â Ấ Ầ Ẩ Ẫ Ậ Ă Ắ Ằ Ẳ Ẵ Ặ É È Ẻ Ẽ Ẹ Ê Ế Ề Ể Ễ Ệ Í Ì Ỉ Ĩ Ị Ó Ò Ỏ Õ Ọ Ô Ố Ồ Ổ Ỗ Ộ Ơ Ớ Ờ Ở Ỡ Ợ Ú Ù Ủ Ũ Ụ Ư Ứ Ừ Ử Ữ Ự Đ
Jơrai: Ĕ Ě Ĭ Ŏ Ǒ Ö Ŭ Ü Ƀ Č Ñ
Hànyǔ Pīnyīn: Ā Á À Ǎ Ē É È Ě Ī Í Ì Ǐ Ō Ó Ò Ǒ Ū Ú Ù Ǔ Ü Ǖ Ǘ Ǜ Ǚ
Нюансы
Работает, не так хорошо, как настоящая вьетнамская языковая раскладка — не учитывает контекст поля ввода и перемещение каретки в нём. Для получения контекста необходимо (если не ошибаюсь) лезть в процесс активного окна, и я решила не рисковать — те же античиты в играх такое не оценят, особенно со стороны автохоткея. Было бы не очень, слови пользователь моей программы бан за такое (или я же сама).
Если по какой-то причине «локальный» контекст (видимый во всплывающей подсказке) не совпадает с контекстом поля ввода — его можно сбросить нажатием RCtrl. Так же локальный контекст сбрасывают Enter, Esc, Home, Page Up/Down, Del, клавиши стрелок, ввод пробельных символов.
Ещё один нюанс — не во всех приложениях оно будет работать как задумано из-за отсутствия механизмов IME. Например, в VS Code попытка ввести Ắ приведёт к разными результатам: ĂẮ, AẮ, Ắ, AĂẮ.
В общем, есть что дорабатывать. Если автохоткей позволит (безопасно) использовать средства IME или нечто подобное — эти режимы ждёт видимое улучшение. Я, конечно, спрашивала нейросети про это, но ни одного маломальски рабочего решения они не предложили.
Поиск
Комбинация: LWin + LAlt + F
Как уже упоминалось — у каждого символа есть набор «тегов», и они могут быть весьма длинными. Например, «строчная буква омега с псили, периспомени и ипогеграммени эллиницы» даст символ «ᾦ».
Вводить полный тег не обязательно — «омег пс пе ип» даст тот же «ᾦ». Однако чем короче запрос, тем менее точный будет результат. Через запятую можно вводить множество запросов:
«дез ди, !дез ди, lamb, !lamb» → «𐐔𐐼Λλ»
«ref, obe, psms, msps» → «※÷±∓»
Вместо тега можно ввести имя записи, например «hel_c_let_l_lambda» → «Λ».
Можно использовать регулярные выражения, например:
«fut.*?\s+\S+al» (ищем тег с любыми символами и пробелами между fut и al) → «ᚺ» (руна Хагалаз), полный тег: «germanic rune elder futhark Hagalaz».
«az$» (ищем тег с az в конце) → «ᛞ» (руна Манназ), полный тег: «germanic rune elder futhark Mannaz».
«^фра» (ищем тег с фра в начале) → «₣» (Франк).
Поддерживается и указание вариации глифа, добавляя ::<ВАРИАНТ> в конец запроса:
«лигатура ae, лигатура ae::капитель, !латин h::фрактур» → «Æᴁ𝔥»
Помимо поиска символов, окно ввода запроса поддерживает вызов некоторых методов/функций:
\ или /Reload — перезапускает программу.
/Exit — закрывает программу.
/ChrLib.Print — создаёт и открывает файл «printed_pairs.html» с перечислением записей локальной библиотеки формата «символ — имя записи».
/MyRecipes.Update — ре-инициализирует пользовательские рецепты.
%globalInstances.crafter.Start("Compose")% — аналогично RAlt×2 активирует режим композиции…
/KbdBinder.Init — ре-инициализирует раскладки и привязки.
Внутренние раскладки клавиатуры
Возможно они могли бы показаться лишними, но они необходимы — привязки прибиваются гвоздями к скан-кодам клавиш (что я посчитала более надёжным, чем к «абстракции» в виде буквы/названия клавиши). Из-за этого переключение системной раскладки не изменит положение привязок программы. Однако в настройках можно выбрать соответствующие внутренние раскладки и тогда привязки будут на корректных местах для отличных от QWERTY/ЙЦУКЕН раскладок.
Для латиницы доступны следующие раскладки: QWERTY, Colemak, Dvorak. Для кириллицы: ЙЦУКЕН, ЙІУКЕН (1907), Диктор. Раскладки могут отличаться от своего оригинала.
Диктор:
Для ввода «Ъ» необходимо зажать левый Альт и нажать на «Ь». При этом «Быстрые ключи», назначенные на «Ъ» переходят к «Ь» с добавлением левого Альта в комбинацию (было RAlt *(LShift) + Ъ → ҮҰ, стало RAlt + LAlt *(LShift) + Ь → ҮҰ).
Цифровой ряд от ЙЦУКЕН.
ИІУКЕН:
*Добавлена скорее ради забавы.
Ввод «-_— –» и «=+≠≈±» перенесён на клавиши «Ъ» и «\» по ЙЦУКЕН.
Цифровой ряд от ЙЦУКЕН, за исключением «-» и «=».
Если в программе нет подходящей раскладки — её можно создать самому через <ФАЙЛ>.JSON разметку в «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomLayouts\» со следующей структурой: примеры на GitHub Gist.
Модификации
В директории «DSLKeyPad\Mods\» можно размещать сторонние AHK-файлы в качестве «модов» к программе. С помощью модификаций можно значительно кастомизировать программу, например, добавив хоть сотню новых режимов «Альтернативного ввода» или вообще ввести новую, самостоятельную фичу.
Для создания мода необходимо создать папку со следующей базовой структурой:
Mods/
└── <ИМЯ МОДА>/
├── index.ahk
├── options.ini
└── preview.(ico|jpg|png) (необязательный файл)
Файл index.ahk будет содержать логику мода и к нему можно подключать другие AHK-файлы через #Include (ничем не отличается от независимого AHK-скрипта).
Файл options.ini (UTF−16 LE):
[options]
title=<НАЗВАНИЕ>
version=<ВЕРСИЯ>
type=<ТИП ЗАГРУЗКИ>
author=<АВТОР> ; (опционально добавление @<ССЫЛКА>)
url=<ССЫЛКА НА СТРАНИЦУ МОДА>
description=<ОПИСАНИЕ>
; Локализованные варианты
[ru-RU] ; (или другой код языка)
title=…
author=…
description=…
Тип загрузки может быть pre_init (для загрузки до основной инициализации) или post_init (для загрузки после неё).
Моды автоматически подхватываются. После добавления нового мода следует подождать 5 секунд перед перезапуском программы.
Переключать моды можно через GUI: Меню трея → Модификации.
PS. если необходимо получить путь до папки вашего мода — он автоматически сохраняются в mods[«<ИМЯ МОДА>»].
PSS. моды — не изолированные друг от скрипты, т.е. возможен конфликт в именах переменных, классов.
Главная панель
Комбинация: LWin + LAlt + Home (или через контекстное меню иконки в трее).
Содержит списки записей символов, их рецепты и комбинации ввода. Также имеется вкладка «Помощь» с поясняющей информацией.
Окно настроек
Комбинация: RCtrl + F9 (или через контекстное меню иконки в трее).
Контекстное меню трея
Ограничения и нюансы
Инструмент всё ещё находится в стадии разработки, но уже может быть полноценно использован.
Антиничиты в играх могут триггериться от использования автохоткея, так как немало людей создают на автохоткее разного рода макросы. Перед заходом в любую многопользовательскую игру лучше закрывать все процессы автохоткея.
Потребляет ~140–180 МБ ОЗУ (без учёта модов и пользовательских рецептов). По возможности буду пытаться оптимизировать использование памяти.
Программа плохо совместима с быстрой печатью. Если вам необходима высокая скорость ввода символов — это не тот инструмент, лучше использовать раскладки для отдельных языков.
Программа ограничена работой на английских и русских раскладках. При обнаружении другого языка клавиатуры (например, японский) — все привязки автоматически приостановятся, так как будут мешать этому языку (в примере с японским — невозможность использовать катакану при зажатии LShift). При возврате на английский/русский — автоматически восстановятся.
Не все привязки могут работать на той или иной мембранной клавиатуре. Полноценно проверить работоспособность привязок на механической клавиатуре не удалось (по причине её полурабочего состояния), но она помогла понять, что некоторые привязки не работают из-за основной, мембранной, клавиатуры, а не косяка в коде.
Не во всех приложениях комбинации будут работать или работать стабильно. Например, в Adobe Illustrator что-то вводит символ, что-то нет, а что-то вводит, но он не появляется, пока не нажмёшь на клавишу стрелки.
Из планов на будущее
Продолжать улучшать программу, её логику и возможно вводить какие-то новые фичи.
Сделать страницу с документацией, включающей и гайд для создания модификаций.
Расширить возможности модификаций.
Расширение «Легенд», но своими силами вряд ли получится — это требует лингвистических познаний, коими я не обладаю в достаточной мере.
Расширение библиотеки символов (пропущенными или по мере их ввода в Юникод). Возможно и расширение режимов альтернативного ввода.
Есть мысли перевести интерфейс на веб-рельсы при помощи соответствующей либы и DLL’ки, но это пока имеет низкий приоритет, пусть и результат будет явно симпотичнее, чем с деревянностью местного GUI.
Просто дубль ссылок: GitHub, SourceForge.
PS. Благодарю дочитавших. Надеюсь, что мой инструмент кого-то заинтересует и окажется полезным.
UPD:
15 августа
Вышла версия 0.1.4.3 α:
• Теперь символов 4900+
• Добавлены режимы для Агванского, Пальмирского и Парфянского письма
• Добавлено 16 раскладок для латиницы и 1 для кирилилцы
• Различные фиксы и улучшения
Латинские буквы для туземных языков
или Мировой алфавит для мирового господства
В Советской России буквари для детей и взрослых, написанные на «туземных языках», начали появляться ещё в Гражданскую войну. Декрет Совнаркома о «ликвидации безграмотности», выпущенный в декабре 1919 года, ставил целью «предоставление всему населению Республики возможности сознательного участия в политической жизни страны». В декрете говорилось, что «всё население Республики в возрасте от 8 до 50 лет, не умеющее читать и писать, ОБЯЗАНО обучаться грамоте на родном или русском языке».
Пресловутый «ликбез» с самого начала был устроен как агитационная кампания за «власть Советов». Губернские совдепы устанавливали «сроки ликвидации безграмотности», так же как и сроки проведения продразвёрстки. В случае неисполнения чиновники отвечали перед Совнаркомом — если не головой, то местом. Букварь с примитивными текстами о преимуществе советской власти над другими политическими режимами был одним из главных инструментов новой пропаганды.
Вот, например, алтайский букварь для взрослых «Кызыл кун» (Красное солнце), напечатанный в Барнауле в 1921 году, открывается «Словом товарища Троцкого». В обратном переводе на русский «Слово» звучит анекдотично:
«Жители деревень, городов и прочие трудящиеся! Советская власть вам помощь даёт. Вы свой человек в Совет посылать. Совет воспитывать детей с малых лет. Платы нет, еду даёт. Дети играют на земле, живут довольные. Дети — это цветы новой жизни, нужно их беречь и защищать. Однако не хватает лекарств, одежды и еды».
Создатель Красной армии, Лев Троцкий являлся также автором теории «перманентной революции». Захват большевиками одной шестой части суши, известной до 1917 года как Российская империя, по мнению Троцкого, был лишь началом установления коммунистической диктатуры по всему миру. В недалёком светлом будущем человечества заодно с ликвидацией капитализма (и капиталистов) планировалось уничтожить семью как буржуазный пережиток, «стереть грань» между городом и деревней (что бы это ни значило) и покончить с тяжёлым наследием вавилонского столпотворения, переведя все языки планеты на единый мировой алфавит. За основу решено было взять латиницу.
Латиница и коренизация
После того, как Совет народных комиссаров во главе с Лениным переехал из Петрограда в Москву, по стране стал гулять анекдот:
— Вы слышали, бандиты перелезли через Кремлёвскую стену?!
— С той стороны или с этой?
Большевики были бандитами в самом широком, философском смысле этого слова. Они не уважали ни материальную, ни интеллектуальную собственность и с лёгкостью необыкновенной присваивали чужие идеи. «Декрет о земле» позаимствован у эсеров, отделение церкви от государства — у французов; реформа правописания обсуждалась в России с 1904 года, когда была создана Орфографическая комиссия при Академии наук, но большевики «реформировали» алфавит за один день в приказном порядке, декретом от 23 декабря 1917 года. А тем, кто был не согласен, пригрозили расстрелом.
«Я помню, как после выхода в свет номера «Правды», напечатанной по новой орфографии, один доктор прибежал ко мне и заявил: «Рабочие не хотят читать «Правды» в этом виде, все смеются и возмущаются». Революция, однако, шутить не любит и обладает всегда необходимой железной рукой, которая способна заставить колеблющихся подчиниться решениям, принятым центром. Такой железной рукой оказался Володарский: именно он издал в тогдашнем Петербурге декрет по издательствам печати, именно он собрал большинство отвечающих за типографии людей и с очень спокойным лицом и своим решительным голосом заявил им: — Появление каких бы то ни было текстов, напечатанных по старой орфографии, будет считаться уступкой контрреволюции, и отсюда будут делаться соответствующие выводы». А. Луначарский. «Латинизация русской письменности»
Идея перехода тюркских языков на латинский алфавит тоже обсуждалась не один год. В России она была популярна среди образованных мусульман Поволжья и Крыма, сторонников «либерального ислама» (джадидизма). За 10 лет до революции татарский поэт Сагит Рамиев начал записывать латинскими буквами свои стихи, а также переводы на татарский язык "Марсельезы" и поэмы Некрасова «Кому на Руси жить хорошо?». Это был смелый футуристический шаг в будущее.
В первой четверти ХХ века латинизация стала таким же символом прогресса, как аэроплан или женщина в брюках. Естественно, большевики не могли пройти мимо этой модной темы. По воспоминаниям Луначарского, В.И.Ленин, большой поклонник замены всех других букв на латинские, говорил: «Я не сомневаюсь, что придёт время для латинизации русского шрифта». Правда тут же оговаривался, что торопиться с этим не надо.
Esly by Stalin togda utverdil odin iz etih proektov, my by seiças pisali, primerno, tak…
Переход «нацменов» на латиницу стал важным этапом политики «ликбеза». На практике это давало красивую статистическую картинку для отчётов. Каждый, кто выучил латинский алфавит в горах Алтая или на берегах Берингова пролива, считался «ликвидировавшим свою безграмотность».
В 1931 году ЦК НА РСФСР отчитывался: «В деле ликвидации неграмотности, малограмотности и переобучения грамотных на старом алфавите на новый алфавит в 1930/31 учебном году сделан большой перелом в сторону сплошной ликвидации неграмотности. Большинство промышленных районов перевыполнило план (от 100 до 176%), общий охват учёбой неграмотных на март месяц 1931 года в среднем составляет 65%... В результате овладения новым алфавитом грамотность возросла с 164 тыс. чел., грамотных на арабском алфавите в 1926 году, до 2 миллионов чел. грамотных в 1931 году».
Латиница играла роль мостика между «титульной» русской письменностью и другими алфавитами народов России, в первую очередь, арабским и монгольским. А для народов, прежде не имевших алфавита, это был «щедрый подарок» от советской власти.
С середины 1920-х годов в СССР проводилась политика «коренизации кадров», то есть выведение новой породы чиновников-туземцев, не имеющих никакого другого образования, кроме «ликбеза». Эти коммунистические големы должны были стать послушными орудиями мировой революции. По крайней мере, изначально так задумывалось.
«Коренизация» предполагала создание в союзных и автономных республиках языковых курсов для обучения «национальных кадров» русскому языку. На этих же курсах «товарищи из центра» должны были овладевать местными языками. Но двуязычных специалистов не хватало, и процесс коренизации сопровождался курьёзами. Например, в Казахстане при переводе рассказов Льва Толстого имя и фамилия автора были переведены буквально, как «Толстый Лев» — Жуан Арыстан. Трест «Водоканал» после перевода превратился в «тот, который пускает воду через горло». А военный корабль — в «корабль, который надо держать перед пулями».
Взаимопониманию народов такие переводы не способствовали. Когда же «коренизаторы» добирались до национальных окраин Сибири, там начинались такие «трудности перевода», за которые можно было и под суд угодить.
Мастер чукотского анекдота, писатель Юрий Рытхэу, рассказывает историю времён культа личности, когда воспевание великого Сталина стало необсуждаемой обязанностью всех деятелей культуры и искусства Советского Союза независимо от национальности. И вот однажды, году в 1937-м, чукотским певцам в Уэллене было приказано сделать постановку о вожде на местном фольклорном материале. За основу певцы решили взять миф о Вороне-Создателе, сотворившем мир… из собственных испражнений. Такие мифы о трикстерах встречаются у многих народов.
«Сталин-Ворон с наклеенными усами для большего сходства с великим вождём взлетал над тёмным и безмолвным Пустым Пространством, готовясь к созидательным подвигам. В оригинале они состояли в том, что Сталин-Ворон обильно испражнялся и мочился. Из больших кусков его выделений образовались горы, целые материки, а из мочи — моря, океаны, реки. Вся песня-танец иллюстрировалась телодвижениями знаменитого танцора Атыка, и он вполне натурально изображал, как Сталин-Ворон тужился в созидательном напряжении, то приседал, то взлетал, а переводчик переводил это приблизительно так:
Великий Сталин, наш Вождь и учитель!
Он срал и ссал с высоты, делая горы, моря…
Мы славим его труды, его мудрость,
Его силу и щедрость!
Зрители, уэленцы, с восторгом воспринимали новейший, современнейший танец-песню, и многие даже стали подпевать и топать мягкими торбазами в такт ударам бубнов. Секретарь местного парткома Локкэ, одновременно служащий торговой конторы, вдруг вскочил на край сцены и замахал руками:
— Немедленно прекратить! Немедленно прекратить клевету! Это чёрт знает что! В таком виде изображать нашего великого вождя! Срущим и ссущим!» Ю. Рытхэу. «Дорожный лексикон»
Нехорошо получилось, как ни поверни. С имперской советской точки зрения, это была идеологическая диверсия, а с точки зрения чукотской культуры — профанация священных образов. Сталин, конечно, могуч и страшен, но мир-то всё-таки сотворил Ворон!
Поэтому совсем неудивительно, что чукотские шаманы всячески боролись с ликбезом, считая его разрушением устоев традиционной жизни. Шаманы пророчествовали: «Не отдавайте детей в школу. Когда дети пишут, море сковывается льдом, и нет зверя». С помощью таких аргументов в 1931 году удалось сорвать работу передвижных «пунктов по ликвидации безграмотности». При том, что именно на Чукотке был создан абсолютно уникальный алфавит.
Пионер чукотской орфографии
Многие слышали про индейского вождя Секвойю, который в XIX веке изобрёл алфавит для языка чероки. Гораздо меньше известна история чукотского оленевода Теневиля, сделавшего то же самое для языка чукчей в XX веке.
С точки зрения коренных жителей, Чукотка — вовсе не край земли, как может кому-то показаться, а оживлённый перекрёсток цивилизаций. Сотни лет воевавшие и торговавшие как с Россией, так и с Америкой, чукчи заимствовали у соседей полезные культурные навыки. В частности, письмо и средства коммуникации. Грамотные чукчи знали русский и английский, умели читать, пользовались кириллицей и латиницей. Но никому из них не приходила идея создать уникальную письменность для родного языка. Никому, кроме Теневиля.
В 1932 году исследователь Арктики Александр Миндалевич привёз с Чукотки деревянные дощечки от товарных ящиков, покрытые необычными письменами, которые были процарапаны гвоздём или сделаны химическим карандашом. Эти надписи по просьбе Миндалевича исполнил лично изобретатель чукотского алфавита. Следующая этнографическая экспедиция отправилась на Чукотку только через 15 лет, когда Теневиля уже не было в живых. Но его «архив» — деревянный ящик, заполненный книжками, тетрадями, листами бумаги, конфетными фантиками, обёрточной бумагой, всем тем, на чём писал Теневиль, сохранился у его родственников.
Спустя 40 лет Юрий Рытхэу посвятил «открытию Теневиля» роман «Конец вечной мерзлоты». В романе рассказывается, как оленевод заимствовал у «тангитанов» (так чукчи называли всех белых пришельцев — и русских, и американцев) саму идею письма, как «разговора через буквы».
«Теневиль знал, что тангитаны, кроме словесного разговора, имеют ещё и начертанный на бумажных листах, сшитых вместе, называемых коротким словом — книга. Слышал Теневиль от стариков, что этот разговор — как бы природная особенность белого человека, тангитана, как его светлая кожа, обильная растительность на лице… У каждой тангитанской породы свой начертанный язык — у американцев свой, у русских свой… Теневиль подолгу разглядывал значки на товарных ярлыках, чайных и табачных обёртках, стремясь вникнуть в тайну обозначенных слов. Он даже украдкой прикладывал к уху печатные слова в надежде услышать какие-то звуки». Ю. Рытхэу «Конец вечной мерзлоты»
В отличие от алфавита, изобретённого Секвойей, письменность Теневиля не получила широкого распространения и оставалась средством домашней коммуникации, которым пользовались только домочадцы оленевода. Хотя известен случай, когда этот алфавит принёс пользу народному хозяйству. В совхозе, где создатель чукотского письма работал в тридцатые годы прошлого века, однажды срочно понадобились капканы.
«Тогда Тыневиль послал записку младшему сыну, учившемуся в школе на Усть-Белой. Мальчик прочёл, сказал учительнице, та — продавцу кооператива, и капканы тотчас прислали. Вслед за тем письмена его вышли за пределы семьи». Сергеев М. А. Изобретатели письменности // На Севере дальнем. 1956. № 4
Исследователи, восстановившие историю пионера чукотской орфографии, отмечают, что Теневиль в основном использовал своё письмо для ведения дневниковых записей. Ему доставляло большое удовольствие днём записывать свои мысли и наблюдения, а вечером перечитывать их. Вот перевод одной из дневниковых заметок чукотского оленевода:
«Русская еда земляная делают все много делают земляной еду делают чай делают табак делают молоко много всю делают еду»
Изобретение Теневиля так и не вышло за пределы родного совхоза. Александр Миндалевич, открывший миру «чукотского Секвойю», был расстрелян в 1938 году на Бутовском полигоне, как враг народа, обвинённый в «шпионской вредительской деятельности в пользу японской разведки». Чукотский язык был переведён на кириллицу, и в том же 1938 году по-чукотски была напечатана статья Сталина, посвящённая «решению национального вопроса в СССР».
Последнее слово было за ним, кремлёвским горцем, который решал все вопросы, в том числе, и вопросы языкознания. Во второй половине тридцатых годов Сталин распорядился завязывать с коренизацией и латинизацией. Вместо мировой революции он выдвинул на передний план великорусский имперский проект. «По просьбе трудящихся» языки народов СССР один за другим переводились на кириллицу. В результате этого стремительного процесса (вождь приказал — думать было некогда) в чеченском языке появились слова, начинающиеся с Ъ (твёрдого знака)! Никого не волновало, что в киргизском языке нет звука «ф», и название столицы республики — Фрунзе — носители языка произносят «Прунзе» или «Рунзе». Всё это были мелочи, известное дело: лес рубят — щепки летят.
Наследие товарища Сталина определяет и современное законодательство России, согласно которому лишь кириллица может быть письменностью языка, являющегося государственным в регионе Российской Федерации. В результате за бортом этого праздника славянской письменности оказался карельский язык — единственный в России, до сих пор использующий для записи латинскую графику. Именно по этой причине карельскому языку отказано в праве называться государственным.
Станет ли кола доброй?
Вот вокруг все твердят: импортозамещение, русификация, отказ от латиницы в пользу кириллицы в рекламе и прочее, и прочее...Неплохо бы нашим отечественным брэндам начать встраиваться в среду грамотно. "Добрый кола" - не звучит. Это все равно что "хороший масло". Или "весёлый баба". Измените окончание и все станет круто. Кола подобреет и будет доброй. Товарный знак даже не придётся заново регистрировать, изменение окончания не будет значительным, брэнд и так охраняется законом. А потребитель почувствует заботу о себе и внимание. Доверие к компании вырастет. Нужно образовывать людей, делать мир чуточку лучше. И любить русский язык. Безусловно, смена окончания будет актом больше социокультурным, нежели жизненно необходимым коммерческим решением, но всё же будет намного лучше.
Всем Доброго дня!










































