Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Hit ball— аркадный шутер с элементами рогалика! Отбивай волны врагов, прокачивай способности и проходи уровни с ловушками и боссами!

Хитбол

Аркады, Казуальные, Для мальчиков

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
16
DemerNkardaz
DemerNkardaz
26 дней назад
ИТ-проекты пикабушников

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры⁠⁠

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Программа даёт доступ к внушительному перечню символов Юникода прямо с клавиатуры. Основной фокус — увеличение охвата латиницы и кириллицы без надобности в отдельных языковых раскладках, помимо английской и русской. Но этим инструмент не ограничивается.

Написана на 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

Затем:

  1. Выбрать самую последнюю версию DSL KeyPad из релизов репозитория или скачать с SourceForge.

  2. Распаковать содержимое архива куда угодно — это и будет директорией установки.

  3. Запустить DSLKeyPad.exe или DSLKeyPad.ahk файл.

  4. При необходимости в настройках можно установить автозагрузку при старте системы.

    1. *При перемещении папки необходимо будет снова установить автозагрузку, т.к. путь не обновляется автоматически.

  5. Нужен шрифт Noto Serif, но при его отсутствии программа сама предложит установку.


DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

GUI с представлением списка доступных символов с их хоткеями или «рецептами» (см. далее)

Краткий экскурс

Идея «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-энтити/мнемоники [&Abreve; &#482;] и 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 в этом чемпион: Ĭ Ï Ī Ĩ Î Ǐ Į İ Í Ì Ȉ).

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Демонстрация

В случае необходимости их можно отключить/включить через 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. Это дополнительные привязки для символов, которые не влезли в основной пул, но им очень хотелось. Они пришли на замену са́мой первой, отбракованной «механике» инструмента — «Группам активации»: необходимо было нажать комбинацию для активации одной из «групп», а затем ввести символьный ключ желаемого знака.

Отключаются эти ключи повторным нажатием их комбинации, а состояние сохраняется в файле настроек.

Пользовательские привязки

GitHub Gist

Для создания привязок необходимо разместить <ФАЙЛ>.JSON в «DSLKeyPad\User\profile-<ПРОФИЛЬ>\CustomBindings\» со схожей структурой: (см. «Пример.jsonc» в Gist)

Примечание: кодировка файла должна быть UTF-8.

Пользовательские привязки поддерживают следующие форматы: (см. «Форматы.md» в Gist)

И следующие типы значений:

// Обычный текст

"@<ТЕКСТ>"

// Ссылка на запись в библиотеке

"<ИМЯ ЗАПИСИ>::<ВАРИАНТ>×<КОЛИЧЕСТВО>"

Подробнее о формате ссылки на запись см. в блоке о пользовательских рецептах.

Модификаторы: < и > указывают «левый» или «правый», ^, !, + — Ctrl, Alt, Shift. Для RAlt нужно использовать конструкцию <^>!.

После создания пресета его можно будет выбрать в окне настроек либо после перезапуска программы, либо после нажатия кнопки рядом с выпадающим списком в окне настроек.


Режим композиции

Вдохновлён клавишей Compose из Linux и WinCompose. Преобразует последовательность одних символов во что-то другое.

Активируется двойным нажатием RAlt. Ввод пользователя будет отображаться во всплывающей подсказке вместе с предложениями совпадений и списком рецептов избранных символов.

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Демонстрация

Введение «композиции» дало больше простора для ввода. Клавиатура не резиновая и не может уместить бесконечное число привязок. Композиция же принимает любой ввод, в том числе и от «Быстрых ключей», что даёт большу́ю вариативность в рецептах и доступ к бо́льшему количеству символов напрямую с клавиатуры.

Режим композиции срабатывает на первое точное совпадение рецепта. Это и плюс и немного минус — такое поведение не позволит ввести, например, Ǣ из-за автоматического срабатывания 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).

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Демонстрация альт-кодов

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Демонстрация Юникода


Пользовательские рецепты

Как «вручную», так и через окно интерфейса можно создавать свои рецепты для композиции. Результат может быть сколько угодно объёмным многострочным текстом, но не рекомендую вставлять туда через чур большой текст.

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Окно «Мои рецепты»

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Окно создания и редактирования рецепта

При первом запуске создаётся несколько рецептов для демонстрации — шаблон 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-файлами). Сейчас такое может ощутимо замедлить инициализацию программы, но возможно у меня получится это оптимизировать.

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

XCompose рецепты


Альтернативный ввод

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Селектор алтернативного ввода

Комбинация: LWin + LAlt + S (селектор)

По сути — просто наборы активируемых привязок для целого перечня форм письменности/алфавитов, в основном отличных от латиницы и кириллицы.

Примечание: наборы привязок используют клавиши латиницы и кириллицы, т.е смена «внутренней» раскладки влияет на них.

Некоторые формы письменности активируются парами — одна письменность работает на латинской раскладке, другая на кириллической. В остальном режимы одиночны, работают сразу на нескольких языковых раскладках, но предназначены именно для латинской (в особенности режимы с вводом слогов).

  1. Эллинское письмо (оно же — греческое) — позволяет вводить как символы современного греческого алфавита, так и древнегреческие знаки с добавлением прочих различных символов, относящихся к нему, например:
    αάὰὰἀᾳᾱᾰἅἄἃἂἇἆ ΐ ϐϕϱϖϰϲϵ
    · ; ⸒ ⸏ ⸐ ⸑ ⸎ ⸔ ⸕ ⸓ ⸖ ʹ ͵ ₯

    От стандартной греческой раскладки отличается типичным для английского расположением небуквенных символов и наличием коппы и дигаммы (Ϟ Ϝ) на месте Q W (; ς на греческой раскладке). Здесь знак ς вводится комбинацией LAlt Σ (S).

    Положение привязок не изменяется при смене латинской/кириллической раскладки — для Эллинского письма введена собственная раскладка, однако изменить её нельзя (ну, льзя, просто не посчитала нужным добавить пункт выбора в GUI настроек).

  2. Германские руны — позволяет вводить руны Старшего Футарка, Англосаксонского Футорка, Младшего Футарка, Средневековые руны, «Золотые числа» 17–19 Рунического альманаха (ᛮᛯᛰ), Руны с Ларца Фрэнкса и ещё три руны Толкина за компанию. Ну и значки пунктуации (᛫᛬᛭).

  3. Глаголица — основывается на кириллической раскладке и позволяет вводить как простые буквы глаголицы, так и комбинируемые и соответствующую диакритику. Включается в пару с «Германскими рунами».

  4. И прочие, уже указанные на скриншоте формы письменности и алфавитов: Древнетюркское письмо, Древнепермское письмо (кириллическая раскладка, в паре с Древнетюркским), Секейское письмо, Готское письмо, Этрусское письмо (древнеиталийское, включает символы не только этрусского алфавита), Финикийское письмо, Южноаравийское письмо, Североаравийское письмо, Карийское письмо, Ликийское письмо, Лидийское письмо, Сидетское письмо (на данный момент введён режим и записи библиотеки символов, но официально Сидетская письменность будет введена в Юникод с релизом Unicode 17.0 минимум 9-го сентября, потому пока будут квадратики вместо букв и шрифты найти не получиться), Кипрское слоговое письмо, Тифинаг, Угаритское письмо, Древнеперсидское письмо, Международный фонетический алфавит, Дезеретский алфавит, Алфавит Шоу и режим для ввода математических символов.

Полный охват для каждого режима не гарантирую, но при обнаружении новых или упущенных мной символов — режим будет дополнен.

Вариации глифов

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Селектор вариации глифов

Комбинация: LWin + LAlt + A (селектор)

Имеет такой же селектор, как у «Альтернативного ввода», но вместо набора привязок указывает программе, какой вариант символа нужно использовать. У записей библиотеки есть атрибут, в котором прописаны варианты — полужирный, курсивный, капитель и т.д. Такие символы не представлены отдельными записями, являясь лишь свойством. Это делает «Вариации глифов» легко совместимыми с фичами, полагающимися на создание привязок.

Если в записи символа отсутствует указанный вариант — будет послан «обычный» символ.

В главной панели под предпросмотром символа будут отображаться первые восемь из доступных вариантов, а справа от предпросмотра активируется кнопка, открывающая GUI для просмотра всех вариантов (которое так же можно открыть через меню трея → Вариации глифов → Панель вариации глифов):

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

GUI промосмотра вариантов

TELEX/VNI-подобный ввод

Режимы, основанные на вьетнамских TELEX и VNI раскладках для облегчения ввода, собственно, вьетнамского (с добавлением букв джарайского алфавита) и пиньиня.

Комбинации: RAlt + F2 (Вьетнамский), RAlt + RShift + F2 (Пиньинь) / LWin + LAlt + D (селектор)

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Демонстрация

Для ввода букв с диакритикой необходимо вводить последовательность символов, например: AWS → Ắ (A → Ă → Ắ), A5 → Ẫ, DD→ Đ, BB → Ƀ, UONGW → ƯƠNG, UONG5 → ƯỠNG. Для отмены слипания последовательности можно использовать \, A\W → AW вместо Ă или повторно ввести последний символ (AW → ĂW → AW). Последнюю введённую диакритику можно отменить вводом Z (ǕZ → ÜZ → U).

Можно менять диакритику уже введённого символа, если не перемещать каретку: ẰS → Ắ, ẮA → Ấ, ẤJ → Ậ, ẬR → Ẩ…

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Демонстрация

Перечень символов режимов

  • 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 или нечто подобное — эти режимы ждёт видимое улучшение. Я, конечно, спрашивала нейросети про это, но ни одного маломальски рабочего решения они не предложили.


Поиск

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Окно ввода для поиска

Комбинация: 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. моды — не изолированные друг от скрипты, т.е. возможен конфликт в именах переменных, классов.

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Окно Модификаций


Главная панель

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Скриншот окна

Комбинация: LWin + LAlt + Home (или через контекстное меню иконки в трее).

Содержит списки записей символов, их рецепты и комбинации ввода. Также имеется вкладка «Помощь» с поясняющей информацией.


Окно настроек

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Скриншот окна

Комбинация: RCtrl + F9 (или через контекстное меню иконки в трее).


Контекстное меню трея

DSL KeyPad — ввод более 4700 символов Юникода прямо с клавиатуры Программа, Autohotkey, Раскладка, Unicode, Кириллица, Латиница, Клавиатура, Древние языки, Windows, Типографика, Гифка, Длиннопост

Скриншот окна


Ограничения и нюансы

  1. Инструмент всё ещё находится в стадии разработки, но уже может быть полноценно использован.

  2. Антиничиты в играх могут триггериться от использования автохоткея, так как немало людей создают на автохоткее разного рода макросы. Перед заходом в любую многопользовательскую игру лучше закрывать все процессы автохоткея.

  3. Потребляет ~140–180 МБ ОЗУ (без учёта модов и пользовательских рецептов). По возможности буду пытаться оптимизировать использование памяти.

  4. Программа плохо совместима с быстрой печатью. Если вам необходима высокая скорость ввода символов — это не тот инструмент, лучше использовать раскладки для отдельных языков.

  5. Программа ограничена работой на английских и русских раскладках. При обнаружении другого языка клавиатуры (например, японский) — все привязки автоматически приостановятся, так как будут мешать этому языку (в примере с японским — невозможность использовать катакану при зажатии LShift). При возврате на английский/русский — автоматически восстановятся.

  6. Не все привязки могут работать на той или иной мембранной клавиатуре. Полноценно проверить работоспособность привязок на механической клавиатуре не удалось (по причине её полурабочего состояния), но она помогла понять, что некоторые привязки не работают из-за основной, мембранной, клавиатуры, а не косяка в коде.

  7. Не во всех приложениях комбинации будут работать или работать стабильно. Например, в Adobe Illustrator что-то вводит символ, что-то нет, а что-то вводит, но он не появляется, пока не нажмёшь на клавишу стрелки.

Из планов на будущее

  1. Продолжать улучшать программу, её логику и возможно вводить какие-то новые фичи.

  2. Сделать страницу с документацией, включающей и гайд для создания модификаций.

  3. Расширить возможности модификаций.

  4. Расширение «Легенд», но своими силами вряд ли получится — это требует лингвистических познаний, коими я не обладаю в достаточной мере.

  5. Расширение библиотеки символов (пропущенными или по мере их ввода в Юникод). Возможно и расширение режимов альтернативного ввода.

  6. Есть мысли перевести интерфейс на веб-рельсы при помощи соответствующей либы и DLL’ки, но это пока имеет низкий приоритет, пусть и результат будет явно симпотичнее, чем с деревянностью местного GUI.


Просто дубль ссылок: GitHub, SourceForge.

PS. Благодарю дочитавших. Надеюсь, что мой инструмент кого-то заинтересует и окажется полезным.

UPD:

15 августа
Вышла версия 0.1.4.3 α:
• Теперь символов 4900+
• Добавлены режимы для Агванского, Пальмирского и Парфянского письма
• Добавлено 16 раскладок для латиницы и 1 для кирилилцы
• Различные фиксы и улучшения

Показать полностью 18
[моё] Программа Autohotkey Раскладка Unicode Кириллица Латиница Клавиатура Древние языки Windows Типографика Гифка Длиннопост
1
15
Mercury13
5 месяцев назад
ИТ-проекты пикабушников
Серия Энциклопедия символов «Юникодия»

Энциклопедия символов «Юникодия»: Юникод 17 альфа⁠⁠

Я всё ещё продолжаю писать программу под Windows — самую лучшую замену стандартной Таблице символов и одновременно небольшую энциклопедию. Качать тут.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

И вот что пока вышло.

Инсталлятор

Даже не знаю, что поставить картинкой. Теперь простому юзеру будет сподручнее устанавливать и обновлять прогу. Единственный недостаток — программа всё ещё не подписана.

Программа, как и раньше, не требует инсталляции, и 7z-архив никуда не делся.

Альфа-версия Юникода 17

Выйдет осенью 2025, и будут:

  • эмодзи: косатка, огрызок, раздутый колобок, обвал, облако драки, снежный человек, танцор балета, тромбон, сундук с сокровищами, многорасовые девушки Плейбоя и борцы

  • 5 новых письменностей: три действующих, одна мёртвая, одна историческая

  • около 20 знаков астероидов из астрономии XIX века

  • фигуры «алфил» и «фарзин» из прото-шахмат, чтобы не путать с современными дальнобойными слоном и ферзём

В версии 2.11 закрыто всё, что я в принципе мог закрыть, на этом моя компетенция всё. Остались умляуты шарады, лигатуры арабского и ККЯ.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Эмодзи Юникода 17

Для этого, кстати, мне пришлось придумать новый метод перекраски многорасовых эмодзи.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Символы разные дополнительные

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Сидетский (из турецкого города Сиде)

Египетские иероглифы Юникода 16

С ними всё одновременно просто и сложно: нашёл способ полуавтоматически собрать шрифт из программы JSesh. 2900 есть, 1100 не хватает, и потому могу с уверенностью сказать: у меня самый исчерпывающий на данный момент свободный египетский шрифт! (Один полукоммерческий уже есть, но для свободной программы это не выход.)

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Египетские иероглифы из JSesh

Иконки блоков

В Юникоде есть собственный шрифт под названием LastResort — шрифт последей надежды, который всеми правдами и неправдами формата TrueType каждому символу Юникода, существующему и будущему, даёт изображение.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Маленький кусочек LastResort

Те же иконки блоков, только в профиль.

Бывали случаи, когда я удивлялся, как мы с LastResort, не кооперируясь, взяли один и тот же символ.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Неслучайная случайность

С другой стороны, иногда я признавал, что выбор LastResort лучше, и даже частично формализовал принципы выбора иконки.

  • Сказал носитель языка. Отменяется только серьёзными возражениями. Пример: хирагана あ.

  • Стандартный символ: А в греческом семействе, ℵ (алеф) в арамейском, К в брахмийском. Отменяется слишком простым, сложным или неопределяющим символом — крестикам, чёрточкам и безликой латыни на иконках не место.

  • Другой принцип греческого семейства: особый символ, которого нет больше нигде. Примеры: кириллица Я, карийский 𐋆.

  • Символ, показывающий особенности написания. Пример: Пагба-ламы ꡐ.

  • Банальная возможность нарисовать на иконке 16×16.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Не заставляйте меня рисовать на иконке эту загогулину!

  • В сестринских письменностях — один общий символ на весь набор.

  • Первая буква самоназвания. Пример: ваи ꕙ.

  • Пасхальное яйцо. Пример: кáннада ಠ.

Кроме того, новые алгоритмы масштабирования иконок под HiDPI — итого переделано более 40 штук.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Есть и другие алгоритмы, но эти два основные

Нет, я не всегда шёл на поводу у LastResort, а наоборот, активно с ним спорил.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Эти иконки я не заменю!

Латиница: есть отличная специфичная буква. Изображения управляющих: ради какого символа обычно идут в этот блок? Дальше продолжать?

Японский

Объявился японец и перевёл Юникодию на свои иероглифы. Я ему активно помогал, и даже дописывал принципы локализации, чтобы работал язык, далёкий от западного.

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Юникодия по-японски

Готовил к китайскому, но уже в начале работы китаец исчез, зато объявился кто-то близкий — несчастный случай, работа сворачивается.

Локальные меню

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Нажать ПКМ, Sh+F10, или одноимённую клавишу W95

Локальные меню — не лучший способ управлять прогой (раскрываемость ниже плинтуса), но если пользователь методом псевдонаучного тыка раскроет — и понятно, и закон Фиттса радуется. Пусть будет.

Cambria

Стандартный шрифт для латиницы и кириллицы я люблю и ненавижу: он достаточно лёгкий, для мелких символов типа дробей и индексов хорошо выставлены вес и положение, отличная математика, неплохо сочетается с Noto, но каждый символ надо проверять. Вот пример:

Энциклопедия символов «Юникодия»: Юникод 17 альфа Таблица, Программное обеспечение, Unicode, Письменность, Шрифт, Длиннопост

Дизайнер — лентяй!

Так замену ему и не нашёл. Не хочу обычный Таймс (например, BabelStone Roman).

Что остаётся? Закрытый список символов, которые вообще могут отображаться Кембрией. Для латиницы правило таково: блок C или версия до 5.0, и не Алфавитные формы, и не вот такие глючки. Любой другой символ, который когда-нибудь войдёт в Cambria, будет отброшен.

Техническое

Тридцать мелких шрифтов объединил в один большой «франкеншрифт» — это должно снизить вероятность глючка, когда какой-то шрифт не подгружается. (Хотя такие глюки стали совсем редкими — народ сообщал, но я не видел на своих трёх компах ни разу.)

OpenSSL 1.1 брошен, но кто-то продолжает неофициально исправлять уязвимости. А я подбираю и компилирую.

Несколько упростилась сборка программы.

Показать полностью 13
[моё] Таблица Программное обеспечение Unicode Письменность Шрифт Длиннопост
3
user10329429
6 месяцев назад

Сердечки в Юникоде⁠⁠

Сердечки в Юникоде Сердце, Unicode

сердечки❤️🩷🧡💛💚💙🩵💜🤎🖤🩶🤍💔❤️‍🔥❤️‍🩹❣️💕💞💓💗💖💘💝💟💌

C:\Users\Александр\Desktop\сердечки в Юникоде.docx

Сердце Unicode
3
7
Mercury13
9 месяцев назад
ИТ-проекты пикабушников
Серия Что нового в Юникоде

Что (скорее всего) ожидается в Юникоде 17⁠⁠

Буквально позавчера появился список эмодзи Юникода 17. Поскольку зафиксированы только эмодзи и китайские иероглифы, остальное — мои догадки.

Эмодзи

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост
Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост
  • Искажённый колобок — уязвимый, тревога, паника, потрясение, удивление

  • Облако драки — драка, спор, несогласие, дискуссия, борьба

  • Балерина — я так и не понял, для чего они её хотят (она бесполая), но, полагаю, как бесполая версия танцора (женщина 💃 танцует латиноамериканские, а мужчина 🕺 диско)

  • Огрызок — компост, съедено, отходы, гнилое

  • Косатка (хищный зубатый кит) — краснокнижные морские обитатели, главная достопримечательность океанариумов

  • Снежный человек (бигфут, сасквач, йети) — бродить, неизвестно где

  • Тромбон — помимо джаза, есть знаменитый джингл «грустный тромбон»

  • Обвал — ещё одно природное бедствие. А если иносказательно — когда что-то в душе рушится

  • Сундук с сокровищами — приз, награда, богатство

Также сделали многорасовыми эмодзи «девушки Плейбоя» и «борцы». Больше не останется эмодзи, где есть много людей без расы. Как обычно, сделано это через ZWJ-последовательность «человек1 + раса1 + ZWJ + что-то + ZWJ + человек2 + раса2». Для девушек Плейбоя это «что-то» — заяц 🐰, для борцов — то самое облако драки.

Возможно (пока не знаю), что балетные тапочки из бежевых сделают чёрными. Это ещё один шаг к лишению эмодзи пола и расы.

Китайские иероглифы

Дело в том, что в конце 2022 китайское правительство решило ответвиться от Юникода и выпустить отраслевой стандарт, где около 800 иероглифов из китайских имён без надлежащей проверки были закинуты в неиспользуемую плоскость A. Это стало форменным плевком в лицо Консорциума: закинули бы в пользовательскую E или F — никто бы и слова не сказал!

Проверка шла с большим скрипом, к выпуску едва уложились (обычно ничего не меняется уже за 8 месяцев, а если символ отправят на доработку — остаётся дыра). К тому же умер главный иероглифист Консорциума.

И вот мартышкин труд закончен, знамя умершего подхвачено, но от выпуска 15.1 до фиксации Юникода 16 было всего четыре месяца. Так что 5000 символов войдут в Юникод 17.

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Другие символы для полудиезов/полубемолей (±четверть тона)

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Из программы «Сибелиус»

Юникодные ноты появились в 2001 году. А музыкальное ПО за более чем 20 лет выбрало другие изображения полудиезов и полубемолей. Собрали все существующие стандарты и закинули скопом.

Шахматные фигуры  «алфил» и «фарзин»

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Изображения алфила и фарзина в разных шрифтах

В прото-шахматах cлон и ферзь были малоподвижными фигурами: ферзь ходил на одну клетку по диагонали, а слон — на две, перепрыгивая через фигуры.

Чтобы не путать их с современными дальнобойными слоном и ферзём, для них сделали отдельные изображения.

Разунификация консольных символов с эмодзи

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Выяснилось, что добавлять текстовым символам свойство «эмодзи» (00A9 — знак копирайта ©, 00A9+FE0F — эмодзи копирайта ©️) — это несколько упрощает жизнь в моменте, усложняя «в долгую», и такого больше делать не надо.

И тут в 2024 приходят символы со старых компьютеров и делают прямо противоположное: эмодзи иногда становятся текстовыми. Некоторые из тех компов вообще не имели графики, игровые спрайты выводились текстом.

Эмодзи, работающие на символе FE0F — глаз 👁️, домики 🏘️ — разунифицировать не стали.

Сидетский

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Надпись на восточных воротах Сида

  • Тип: алфавит, ←

  • Язык: сидетский (около начала нашей эры, совр. Турция)

  • Состояние: исторический, частично расшифрован

Сидетский — современное название языка (самоназвание неизвестно), потому что использовался в районе города Сид. Известно всего 13 надписей. Поскольку часть символов спорные, символы названы по каталожным номерам.

Толонг-сики

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Детская книжка в двух письменностях: толонг-сики и деванáгари

  • Тип: алфавит, →, действующий

  • Язык: курух (Индия, дравидийская семья, 2,3 млн)

  • Состояние: изобретён в 1999 и набирает публику

Я тут смотрю на новые алфавиты Индии и удивляюсь: значительно менее ёмки, чем, например, деванáгари, сделаны коряво, но набирают сторонников? А потом: посмотри на свою собственную кириллицу! Разница только в том, что над кириллицей работали поколения типографов, и она перестала быть корявой — а толонг даже лучше кириллицы приспособлен под беглое письмо.

А также удивляюсь, как в Индии встречаются неписьменные языки с миллионом говорящих.

Чжурчжэньские иероглифы

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Перевод закона с китайского на чжурчжэнский

  • Тип: иероглифы, ←↓↓ по столбцам, исторические

  • Язык: чжурчжэньский, предок маньчжурского

  • Состояние: действовал 1100 –1300, язык никогда не заговорит, но благодаря любви китайцев к документированию всего и вся про него известно очень много

Письмо использовалось в первую очередь для связи чжурчжэней с китайским двором. Как правило, иероглифические надписи имеют китайский порядок слов, а не маньчжурский.

Чисой

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Вывеска школы

  • Тип: спорный (абугида/алфавит), →, действующий

  • Язык: курмальский (Индия, индоевропейская семья, 300 тыс.)

  • Состояние: изобретён в 1994 и набирает популярность

Вот это я понимаю алфавит! И красив, и писать достаточно просто.

Берия

Что (скорее всего) ожидается в Юникоде 17 Unicode, Письменность, Язык, Эмодзи, Длиннопост

Учебный материал с транслитерацией латиницей

  • Тип: алфавит, →, дейстувющий

  • Язык: загава (Африка, сахарская семья, 300…450 тыс.)

  • Состояние: изобретён около 1950, реформирован в 2021

Раз загава — кочевники-скотоводы, то письменность сделана из… клейм для верблюдов. Видимо, если верблюдом владеет условный Пумба, пусть это будет буква П.

Лорна Эванс из SIL International, которая много раз прикладывала руку к подобным мелким языкам, участвовала в реформе письменности и сделала вот такой красивый открытый шрифт.

Интересная фишка — большие буквы не поднимаются ввысь, а опускаются ниже строки.

Я пишу программу «Юникодия» — самую исчерпывающую таблицу символов Юникода. Качать тут.

Показать полностью 9
[моё] Unicode Письменность Язык Эмодзи Длиннопост
1
18
Mercury13
10 месяцев назад
ИТ-проекты пикабушников
Серия Энциклопедия символов «Юникодия»

Энциклопедия символов «Юникодия»: вышел Юникод 16⁠⁠

Я продолжаю писать программу под Windows — самую лучшую замену стандартной Таблице символов и одновременно небольшую энциклопедию. Качать тут.

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Ещё один эмодзик Юникода 16

В сентябре вышел новый Юникод, а значит, новый отчёт.

Главное изменение — это…

Шрифты!

  • Алфавит Тодри (алфавит для албанского, экспериментальный, до 1800) — нарисовал сам

  • Кхема (абугида для языка гурунг, Непал, действующая) — нарисовал сам

  • Ол-онал (алфавит для языка бхумидж, Индия, действующий) — нарисовал сам. Все три рабочие, то есть не коллекция глифов, а годный для печати шрифт!

  • Псевдографика со старых компьютеров — тот же Эндрю Уэст, что рисовал китайские иероглифы

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Совершенно упоротое албанское письмо

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Вполне годная абугида

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Письменность, ставшая упоротой без вины автора

А теперь загадка (чур, в справочники не смотреть!) В средние века латиница претерпела одно важное изменение. Ол-онал претерпел обратное — можете догадаться, какое?

Небольшой совет: готовишь шрифт для непечатной письменности — ориентируйся на рукописные образцы. А лучше на каллиграфические. Компьютерные шрифты и основанные на них вывески, как правило, полный ужас. Вот моя мотивация по дизайну ол-онала.

  • Обратный контраст (горизонтальные штрихи шире) и перо бэкслэшом \ довольно распространены в каллиграфии Юго-Восточной Азии, но непривычны для латиницы и кириллицы, пока не появились шахид-маршрутки 🚐😎 (на самом деле раньше, гуглите «брусковый шрифт»).

  • Двуязычный район пишет одну вывеску несколькими языками. Деванáгари ёмче ол-онала, отсюда буквы ýже, чем в большинстве печатных шрифтов.

  • Где можно, я использовал элементы эстетики Noto, примерно понимая, как пойдёт перо: полукруглую законцовку я чаще применял в начале штриха, чем в конце.

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Главный (но не единственный) источник вдохновения

Остались 4100 символов в двух блоках: египетские иероглифы и старый тулу (религиозная абугида для языка тулу).

Нашёл примерно 2900 иероглифов, но с массовым импортом начались технические проблемы, а чтобы их решить, нужна хорошая математика. Может, лучше ждать рабочего шрифта, чем мучиться с неполной коллекцией? Старый тулу — действующий шрифт сделать сложно, а коллекцию глифов — а стоит?

Эмодзи

Ценное изменение Юникода 16: объединены категории «Морские животные» и «Морепродукты». Деление съедобное/несъедобное очень шатко и, скажем, рыба-ёж 🐡 может означать фугу, экстремальное японское кушанье. Жареная креветка 🍤 находится в «Восточной кухне» и никуда не убежала.

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Теперь всё скопом

Очень спорное изменение Юникода 15.1: сделаны пять бесполых силуэтных семей, а остальные рекомендовано убрать с «клавиатур» и забить силуэтами, чтобы радикально избавиться от комбинаторного взрыва. Оказалось, весной за Гуглом последовал Эпл — изменение прижилось!

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Одна из силуэтных семей

Ну и наконец — Гугл обновил эмодзи! Помните, я сетовал на низкий контраст новых широкоугольных рук? Гугл услышал!

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Эмодзи Гугла: подняли контраст

Художник пользовался такой вот методикой расстановки теней: создал группу объектов и обрезал по контуру. Эта самая обрезка не поддерживается доступным SVG-движком, так что полдня потратил на ручную переделку эмодзиков. А межрасовые рукопожатия тупо автоматически перекрасил, забив на автотестирование, как оно будет работать и есть ли разница. (Однорасовые рукопожатия не перекрашиваются, а хранятся — автотестирование бьёт тревогу, а я не понимаю, где косяк.)

Ещё одно необычное изменение эмодзи, связанное с инклюзивностью: пластырь из телесного стал белым.

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Теперь белый, из-за инклюзивности

О балетных тапочках идут споры (они обычно бежевые), а пластырь хотя бы бывает белый.

Старые компьютеры

Ребекка Бетанкур, которая сейчас заведует Реестром искусственных письменностей, притащила много информации по старым компьютерам. Закинуть её в Юникодию автоматически — милое дело. До этого информация была перенесена вручную, с одной ошибкой, существовавшей в заявке 2021.

Кроме того, я написал несколько строк по каждому из старых компьютеров, например:

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Описание ZX Spectrum

Да, добавил три компьютера, поддерживавшихся изначально (с 1.0): Spectrum, Мак и IBM.

Залез во внутреннюю структуру TTF-шрифта

Я и раньше в неё залезал, чтобы переименовать шрифт и имя не совпало ни с одним из системных (был такой глюк). Теперь залез глубже, с двумя целями:

  • определить, какие символы поддерживаются шрифтом (очень редко заглючивало и именно этот вопрос решало неверно);

  • расхинтовать символ «пунктирный кружок» (то есть лишить пиксельного выравнивания), чтобы не было вот такого.

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Старая версия, 1.5×. Кружок в Noto выровнен, в моём шрифте нет

Ковыряние в формате TTF, возможно, уберёт парочку шрифтов-исправлений (деванагари, монгольский) — но уже задача 1 с поиском поддерживаемых символов сильно снижает шрифтовые глюки. А стоит?

Перенёс часть информации о языках в EXE-файл

Это уменьшило локализацию всего на 1 килобайт. Но очень сильно упростит перевод и обновление данных, позволит комментировать, откуда взялись цифры.

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Не допускаю военного жаргона, ни на каком языке!

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

А вот так оно выглядит в программе

Энциклопедия символов «Юникодия»: вышел Юникод 16 Unicode, Таблица, Эмодзи, Шрифт, Письменность, Программа, Пятничный тег моё, Длиннопост

Комментарий по украинскому в коде. Сам я чистый L2 (изучивший).

Да, я начинаю с Википедии, но надо смотреть, что за источник и насколько надо огрублять его данные. Допустим, для монского (Мьянма) я указал: до 1 млн, это самая крупная оценка (UNSD 2012).

В 2022, с первой английской локализацией, я подобное сделал с информацией о датировке письменности.

Напоминаю загадку (чур, в справочники не смотреть!) В средние века латиница претерпела одно важное изменение. Письменность ол-онал претерпела обратное — можете догадаться, какое?

Спасибо за внимание!

Ответ на загадку: письменность ол-онал потеряла строчные буквы. Видите, что каждая буква обведена кружочком? Это нередко для заглавных, но строчные для простоты и разборчивости делают лаконичнее.

Показать полностью 14
[моё] Unicode Таблица Эмодзи Шрифт Письменность Программа Пятничный тег моё Длиннопост
8
18
Mercury13
1 год назад
ИТ-проекты пикабушников
Серия Энциклопедия символов «Юникодия»

Энциклопедия символов «Юникодия»: отчёт лета 2024⁠⁠

Напоминаю: я пишу программу под Windows — энциклопедию символов и самую лучшую замену стандартной Таблице символов. Качать тут. Выглядит примерно так.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Рандомный скриншот с новым эмодзиком

Что за это время изменилось…

Добавлена бета-версия Юникода 16

Новых блоков много, и я лишь скажу, где закрыл тофу.

  • Гарай: экспериментальная для языков волофал и мандинка (Сенегал), 1961 — нашёл корявый шрифт, закодированный в латиницу, и перевёл в Юникод

  • Сунвар: новая для языка сунвар (Непал), 1941 — нашёл корявый юникодный шрифт

  • Кират: новая для языка бантава (Индия, Непал), 1920 — нашёл отличный юникодный шрифт

  • 8 новых эмодзи

  • Всякая мелочь вроде латиницы, кириллицы и стрелок

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Гарай — необычный африканский алфавит

Заодно начал использовать не XML-базу Юникода, а текстовую: Консорциум рассматривал даже отказ от XML, но нашлось кому поддерживать, и всё равно вышла только в мае. Текстовая сложнее в разборе, зато быстрее, компактнее, больше информации, лучше совместима с системой управления версиями.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Семь новых эмодзиков, рисовал сам (восьмой — о. Сарк, новый код страны CQ)

Раньше было: куда ни ткни, попадёшь в китайский иероглиф — потому ККЯ сворачиваются. После того, как добавили 4000 египетских иероглифов, появилось то же чувство.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Свёрнутые иероглифы

Новая функциональность

Символ + эмодзи

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

И пешка-эмодзи, и пешка-символ

Простите, что сделано очень непоследовательно, но чтобы выяснить, делать ли, я отвечал на три вопроса.

  1. Что по умолчанию: текст или эмодзи? В таком виде отображаются только VS16-эмодзи. Потому отпадают знаки зодиака, у которых первичен именно эмодзи.

  2. Насколько важна текстовая версия? Отпадает компьютерная периферия: почти не бывает в текстовом виде. А пешка — часто встречается в шахматной нотации.

  3. Насколько оно красиво на этой библиотеке эмодзи? Вы знаете, я много ругался на неконтрастную библиотеку Гугла, и именно из-за контраста отпадают череп и кости.

Ещё одно трудоёмкое и малозаметное, но важное изменение. Шрифты Гугла всеобъемлющие и потому у них габариты с запасом — а значит, раздвигали окошко «Образец». Теперь на очень многих письменностях не раздвигает.

Запросы

Рядом с некоторыми заголовками видна маленькая синяя лупа.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Маленькая синяя лупа…

При нажатии на эту лупу выводятся… как вы понимаете, все управляющие символы.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

…и что она делает

Поскольку синтезированные иконки вроде L и ä после этого изменения отображаются часто, навёл небольшой порядок в них.

Ускорено передвижение по таблице в куче тофу

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Рандомная куча тофу из ожидаемого Юникода 16

Юникод выходит в сентябре: повелось с КОВИДа и оказалось удачным. Примерно к Новому году что-то я сам затыкаю, что-то рисуют профессионалы, тормоза перестают быть проблемой, и я забываю о них — в мирное время до сентября-октября (выпуск Юникода + первый крупный шрифт), в военное до апреля-мая (бета-версия Юникода).

Я знал, кто источник замедления (поиск по всем доступным системным шрифтам), но как это правильно запрограммировать? Наконец придумал.

Улучшено отображение всплывающего окошка

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

То самое злосчастное окошко

Оказывается, если регулировать размер окна штатной автоматикой, предел по ширине и высоте ⅔ экрана. Но библиотека глючит и размер часто вылезает за этот предел — так что я просто спутал баг и фичу. Заглянул в документацию, увидел этот предел и начал писать, тестируя на барахольном ноуте FullHD 14″.

Решается, как и полагается Qt — залезаешь в исходники, копируешь кусок автоматики и переписываешь под свои нужды. Вот такая нехорошая архитектура.

Подтягиваются шрифты

Профессионалы нарисовали новый блок деванáгари.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Новый деванагари из U15

В таблице и в заметках требования к шрифту чуть разные: шрифт из таблицы должен поддерживать максимум символов, заметке нужен базовый набор, какая-то функциональность и качественный хинтинг (подгонка под пиксели). Деванáгари — это же главная брахмийская письменность и используется в пяти заметках, но Noto Devanagari плохо отхинтован. Раньше я использовал для заметок какой попало системный шрифт, но неявно полагал, что «какой попало» — это Arial Unicode MS из Microsoft Office. Теперь явно прописана цепочка из трёх шрифтов, и какой-то точно найдётся в W7, 10 или 11. Не лучший вариант (рано или поздно выйдет W12), но пусть поживёт так.

Да, W7 всё ещё поддерживается и иногда ей помогаю, и старые гарантии — без тофу базовая плоскость и три важных письменности — всё ещё выполняются, но тестирование под неё эпизодическое и теперь обещаю только запуск.

Коптский перекочевал в UnicodiaFunky и приобрёл кучу новой функциональности. Для Юникодии не важно, для коптского языка — важно.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Рандомная коптская буква

Начал писать про макасарский и выяснил, что вся функциональность шрифта написана на нестандартной системе Graphite и он в Юникодии совсем не работает. Сначала поступил как в коптском (перенёс глифы и написал функциональность), но потом и нарисовал более чистые глифы, оставив общий стиль тем же — стилем дневника тамошнего принца.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Дневник макасарского принца

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Слева — мой шрифт, справа — образцовый юникодный

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Функциональность моего шрифта

Что думаю сделать дальше?

  1. Поиск по эмодзи. Эта функция требует большого исследования, и не знаю, когда будет.

  2. Нарисовать какую-то из новых письменностей. Пока склоняюсь к албанскому Тодри.

Энциклопедия символов «Юникодия»: отчёт лета 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Длиннопост

Алфавит Тодри. Иногда его называют эльбасанским, но не путать с давно существующим в Юникоде!

Спасибо за внимание!

Показать полностью 15
[моё] Unicode Таблица Шрифт Письменность Программа Длиннопост
6
15
Mercury13
1 год назад
ИТ-проекты пикабушников
Серия Энциклопедия символов «Юникодия»

Энциклопедия символов «Юникодия»: отчёт весны 2024⁠⁠

Напоминаю: я пишу программу под Windows — энциклопедию символов и самую лучшую замену стандартной Таблице символов. Качать тут. Выглядит примерно так.

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Вот она, моя прога

И первое, что видно…

Любимые символы

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Новая вкладка

Какой-то фанат накидал мне целую панамку функциональности, и один его пункт я сделал, ибо нет технических препятствий и сумел просчитать все интерфейсные обоснования. (Скажем, масштабирование я не сделал потому, что функцию попробуй обнаружь в интерфейсе, а если случайно изменил масштаб, непонятно, как вернуть.)

Можно создать список каких хочешь символов — например, часто используемых типографских. Или просто закладки на полноценные блоки: нажатие на синюю стрелочку около «U+1FAF6» переходит на вкладку «Блоки».

Подтягиваются шрифты

Руки Noto

Библиотека Noto к 15-му Юникоду привезла новые руки, вы уже их видели на заглавной странице — сделанные двумя цветами и как бы снятые широкоугольным объективом. Я их откладывал как из-за трудоёмкости, так и из-за сомнений: а достаточно контрастности? Оказалось, Юникодия приняла новые руки без вопросов, а BitBucket стал хуже — ну не смотрятся на размере пикселей в 15. А Slack вообще отказался принимать эти руки.

Все руки, кроме одной, автоматически перекрашиваются, и для тестирования этого механизма я сделал целую утилиту: а что в картинках изменилось? Обнаружил, кстати, много других глюков.

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Разница между «было» и «стало», усиленная раз в 20

Видите, у вампирши яркие брови и тусклое лицо? Это значит, были какие-то ошибки в перекраске.

Изначально перекраска ставила целью экономить механическую работу, а не байты архива. Некоторые SVG-эмодзики глючили, я глюки исправлял — а чтобы исправить один раз, а не шесть, пять цветов кожи генерировались. Теперь, когда можно сравнивать «было/стало», можно и поэкономить, и десятка полтора человечков перекрашиваются — для пользователя не изменилось ни пикселя.

Египетские иероглифы

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Был шимпанзе, стал гамадрил

В 2009 году, когда кодировали иероглифы, их брали из трудов Алана Гардинера — историчные, но корявые. В 2016 их заменили на профессиональный шрифт, возможно, Hieroglyphica, слегка погрешив против истины. С 2021 истину стали восстанавливать.

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Лишь две строчки из большого списка

Мы работали вдвоём с немецким египтологом — я рисовал, он проверял. Когда он без предупреждения пропал, я спрашивал: а что с ним? Оказалось, уехал «в поля». Так и не сказал мне, насколько опасно/безопасно было в Египте.

Примерно 60% изменений — это люди. А именно: у действующего фараона прямая борода, у бога и бывшего фараона — длинным крючком (за исключением Пта, у него фараонская), у египтянина — короткая, у сирийца — острая. Кроме того, коровы, обезьяны, лодки и многое другое — около 70 иероглифов.

Ланна

Северотайская письменность, сейчас в опасности, одна из красивейших письменностей мира.

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Северотайская Библия. Тайское письмо и ланна

В 1930-е ланна была заменена тайским письмом, и используется больше меньшинствами (тай-кхынами, лы), до которых националисты не дотянулись. Так что многие надписи на северотайском пишут и тайским письмом, и ланной.

Меня просто давила жаба: такая красота — и шрифтом без засечек? После долгих поисков нашёл шрифт, который корректно рисует хотя бы простейшие надписи из Википедии.

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Ланна: было/стало

Символы каны для записи иностранных языков

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Конкретно эти придуманы японцами незадолго до 2МВ

Движок GlyphWiki не очень подходит для рисования таких символов, и я плевался, когда вычищал. Нашёлся человек, нарисовавший их вручную.

Прочая функциональность

Предупреждение о других формах эмодзи. У некоторых эмодзи бывают другие формы — устаревшие, некорректные и просто другие. Современный флаг Афганистана, белый с шахáдой (девизом ислама), никто не принимает и рисует старый 2021 года. Пиньята (начинённая конфетами игрушка) бывает в форме звезды и в форме животного. Автобусную остановку рисует каждый свою местную. Микроб — рисуют бактерии, амёбы и даже КОВИД.

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Вот, например, флаг Мартиники

Вычищаю ложь. Я, конечно, стараюсь проверять, что пишу, но иногда не получается. Например: есть аж два «эльбасанских письма» для албанского: одно было известно с самого начала, ибо его изобретатель, «учитель Тодри», всю жизнь его пропагандировал, пока не убили (будет этой осенью под именем «Todhri»). Второе — единственный образец изъяли в 1945 у расстрелянного коллаборациониста, коллекционера и филолога (есть с 2014 под именем «Elbasan»).

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Эльбасанское Евангелие / Три молитвы шрифтом Тодри

Или не очень верно написал, что такое ночная азбука Барбье: она использует матрицу 2×6, но код там не двоичный, а сколько точек в левой колонке и сколько в правой — таким образом получается 6·6=36 букв.

Энциклопедия символов «Юникодия»: отчёт весны 2024 Unicode, Таблица, Шрифт, Письменность, Программа, Видео, YouTube, Длиннопост

Шарль Барбье, зрячий военный. И Луи Брайль, слепой учитель.

Последнее — про азбуку Брайля отлично рассказала Юлия Большакова, так что закончим её рассказом.

Спасибо за внимание!

Показать полностью 11 1
[моё] Unicode Таблица Шрифт Письменность Программа Видео YouTube Длиннопост
4
12
Mercury13
1 год назад
ИТ-проекты пикабушников
Серия Что нового в Юникоде

Одним глазком в Юникод 16.0⁠⁠

Юникод 15.1 пока не поддерживается никем и никак. Но к 16.0 уже готовятся: 1 ноября приняли первые семь эмодзиков. Окончательный выпуск будет осенью 2024.

Эмодзи

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

Вот она, великолепная семёрка

Колобок с мешками под глазами — усталый, измученный, похмелье, бессонница

Отпечаток пальца — биометрия, место преступления, мелочи, опознание

Корнеплод — свёкла, дайкон, редька, борщ, репетиция, дать в репу

Голое дерево — осень, зима, засуха, экология, депрессия

Арфа — лира, кифара, цитра, классическое исполнительское искусство, Ирландия

Лопата — откопать, подкопать, закопать (прямо или фигурально), вкалывать

Клякса — грязь, пятно, праздник Холи, краска, соус, пейнтбол

Автоматически вместе с кодом государства появился Сарк, островок в Ла-Манше, владение Великобритании.

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

600 человек, и уже код государства CQ

Кириллица

Добавлена одна буква, появившаяся в 2013 году,— ТЬ из языка ханты (уральская семья, 9 тыс. на 2010). Очевидная лигатура из Т и мягкого знака.

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

Типа их алфавит

Автор заявки — пикабушник! Мне казалось, что это единственная действующая буква из 16-го Юникода, но нет: есть ещё заглавная буква ɤ, придуманная в 2014 для языка восточный дан (Кот-д’Ивуар, 650 тыс., неписьменный). И целый алфавит гарай.

Около 700 символов со старых компьютеров

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

Вот лишь немногие из этих символов

Amstrad CPC, Apple II, Mattel Aquarius и множество других. Полагается, что значимые старые платформы исчерпаны и больше символов со старых компьютеров не будет. Вот, как пример, карты ханафуда на одном из японских терминалов.

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

В этом увидят красоту разве что японцы

Вы только посмотрите на их изобретательность: мордашки, кресты, машинки, диоды, резисторы — и из всего этого нарисовали карты.

Алфавит Тодри

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

Алфавит Тодри. Авторское Послание к евреям

Тип: алфавит, слева направо, без регистра, экспериментальный

Язык: албанский (на то время — арабица)

Существовал: середина XVIII века…≈1800

Албанский язык, очень далёкий родственник современного греческого, под властью турок несколько веков использовал арабскую вязь. И просвещённые умы около 1800 придумывали другие алфавиты — частично для конспирации от турок, частично для культурной автономии. Уже закодированы виткутьский алфавит (≈1850) и алфавит Эльбасанского Евангелия (до 1800). Вот перед нами третий образчик, также использовавшийся в районе города Эльбасана. Потому алфавит также нередко зовётся «эльбасанским», и чтобы одно не путать с другим, назвали в честь автора — Теодора Хаджифилиппа по прозвищу «учитель Тодри».

Гарай

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

Гарай. Авторский букварь

Тип: алфавит, справа налево, с заглавными, экспериментальный

Языки: волоф (6,9 млн на 2017, латиница, арабица, адлам); мандинка (2,1 млн ≈2020, латиница, арабица, нко); оба — Сенегал, нигеро-конголезская семья

Существовал: с 1961

Что такое 1961? Это типа освобождение Африки, и некто Ассане Файе из Сенегала придумал вот такой алфавит. В любом случае в конкуренции победила латиница и количество грамотных в гарае в наши дни исчисляется сотнями, но письменность не умерла и изучается.

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

На ум приходит знаменитая шутка из комикса xkcd

Заглавная буква снабжена большим крючком. В конце слова часто добавляют длинный хвост, что, впрочем, не обязательно и будет поддерживаться шрифтами лишь когда туда добавится Тьюринг-полное программирование. Есть и другие места, где разработчики шрифтов ждут настоящего программирования: сложные стили арабского, египетские иероглифы, европейские ноты, стенография Дюплойе.

Тигалари (=западная грантха, тулу-малая́лам, грантха-малая́лам)

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

Тигалари. Книга санскритом на пальмовом листе

Тип: брахмийская абугида (особый вид слоговой письменности родом из Индии), слева направо, религиозная

Языки: санскрит (индоевропейская семья), кáннада, малая́лам, тулу (все три — Западная Индия, дравидийская семья). На последнем чаще пишут кáннадой и даже на переписях относят к говорящим на кáннаде.

Существовала: IX…XVII век, крайне редко поныне

Письменность сестринская с уважаемой письменностью малая́лам, и крайне мало используется в индуизме.

Подход к кодированию живых и исторических индийских письменностей очень разный. например, в деванáгари (крупной письменности для хинди, маратхи и более мелких языков):

  • क [ка] = ка

  • क् [к] = ка + вирама

  • क्ष [кша] = ка + вирама + ша

  • क्षी [кши:] = ка + вирама + ша + ии

Сделано это, чтобы задействовать поменьше клавиш на стандартный стиль — а если нужен другой, есть спецсимволы, которые можно хоть через AltGr. Сложно, но не все в Индии «индусы», есть и те, кто запрограммирует как надо.

В исторических письменностях разделяют видимую вираму (убирает гласную A) и виртуальную вираму (=conjoiner, склеивает согласные). Это упрощает создание шрифтов, перепечатывание документов в авторской орфографии, прочтение авторской орфографии на неполноценном шрифте.

Одним глазком в Юникод 16.0 Unicode, Письменность, Эмодзи, Длиннопост

Conjoiner — спецсимвол, склеивает согласные. Virama — видимая, убирает гласную

Цифры берут кто на какие горазд, предлагается унифицировать с кáннадой.

Но это не всё!

Юникод 16.0 — это будет мега-обновление! (В 2022 Консорциум Юникода потерял двух ключевых людей и вынужден был сделать небольшой выпуск.) С новой пачкой эмодзиков будут:

  • сунвар (Непал, алфавит без регистра, 1942)

  • гурунг или кхема (Непал, брахмийская абугида, около 1972)

  • кират-рай (Индия, брахмийская абугида, около 1920)

  • ол-онал (Индия, алфавит без регистра, 1992)

Я пишу программу «Юникодия» — энциклопедию символов Юникода. Качать тут.

Показать полностью 9
[моё] Unicode Письменность Эмодзи Длиннопост
9
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии