30

Энциклопедия символов «Юникодия»: год спустя

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

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

И первое, что вы здесь видите…

Графические эмодзи

Я втянул библиотеку эмодзи Google Noto, и теперь все эмодзики гипертекстовые векторные. Честно, мне Noto не очень нравится: недостаточно контрастные. Но что делать, это пока лучшая из бесплатных библиотек эмодзи: Twemoji вообще блёклая, OpenMoji совсем уж вычурная.

Имеющийся SVG-движок не работает с контурами обрезки, и я где-то месяц находил чёрные пятна и устранял их сам, программой Inkscape.

Для чего я это делал?.. А для новой функции.

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

Подборки

Подборок пока не очень много. Две из них — «Эмодзи» и «Необычные ККЯ-иероглифы» — нашлись в таблицах Юникода, остальное моё собственное.

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

Пришлось решать и такую задачу: вот я подредактировал внерасовую жёлтую руку под ограниченный SVG-движок. Что делать с пятью расовыми руками от белой до чёрной? Написал программную перекраску в нужную расу.

Английский и украинский

Перевёл программу на все языки, какие знаю. Для этого написал целую программу редактирования языковых ресурсов. Небольшую и неполную, но учитывающую весь мой опыт коммерческой локализации «живой» программы. И потихоньку дописываю в эту программу все задачи, какие нужны: например, декодировать текст Си++ u8"раз\nдва"sv в «раз//два». Или найти, где я при переводе забыл абзац-другой (таких рассказов нашлось штук девять в английском и пять в украинском).

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

Задачи, не связанные с «Юникодией»,— например, поддержка посторонних языковых ресурсов вроде CSV — так и висят почти год. Хочу довести состояние «Юникодии» до production/stable, а переводчик так и останется вечной альфой — ну, если не придётся переводить что-то другое.

Юникод 15

Четыре основных новых блока Юникода 15.

  • Эмодзи — быстро появились у Гугла.

  • Алфавит Нага для языка мундари — сам намалевал корявый, но действующий шрифт. Не кучу глифов, а именно шрифт!

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

  • Китайские иероглифы — что-то сделал старый знакомый Эндрю Уэст. А остальные были загружены с GlyphWiki самодельным пакетом программ.

Для чего собственный загрузчик? Чтобы иметь уверенность в 146%, что шрифт получился технически корректный. Загрузчик состоит из трёх программ: собственно загрузчика (скачать иероглифы с GlyphWiki), переработчика (превратить ломаные в кривые, разрулить стандартные некорректности вроде задваивания вершин) и Python-скрипта для FontForge (собрать шрифт).

Старый чужой GlyphWiki-шрифт остался, ведь задача корректности решена не полностью.

Для остальных мелких блоков нарисовал недействующие глифы-затычки.

HD

Установил «Юникодию» на чей-то ноутбук и удивился (если не сказать покрепче). Программную часть сделал за неделю, а триста иконок — мучил почти два месяца, с декабря до февраля. Так долго, потому что заодно с HD делал и украинский: переделанные иконки оказались хорошим маркером, что уже вычитано.

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

Большинство иконок — просто SVG-графика, иногда с отметками, чтобы выровнять по пикселям доминирующую линию. Штук пятнадцать рисуются программно, особым движком: игральные карты — не смог зашить в SVG закруглённую рамку, символы со старых компьютеров — хочу пиксели, даже если рука и нога слегка вылезут из виду…

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

Программные штуки

Порядок сортировки. Было понятно, что триста блоков в исторически сложившемся порядке — это ужас, так что сделал три варианта сортировки: по алфавиту, континенту+алфавиту и коду. По умолчанию — континент+алфавит, ведь часто вы знаете, письмо европейское или африканское, или вообще международная нотация.

Из-за этого вместо «Игральные карты» написал «Карты игральные», как в справочниках. А вот «Пехлеви псалтырское» и «Шоу Бернарда алфавит» писать побоялся.

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

Развыделение комбобокса. Чисто визуальная, плавающая, но противная ошибка: выбираешь какой-то блок, и вдруг на экране оказываются два фокуса ввода: на таблице (истинный) и на выпадающем списке (ложный). Писал самые разные разглючки, ошибка затаивалась, но появлялась с новой силой. Начал уже прикручивать к списку собственную «шкурку», якобы решило проблему… — и как только к шкурке приделал «микро-фокус» от повисшего курсора, проблема вернулась! Источник понятен, шкурку тут же убрал, а разглючка заняла одну строку.

Поиск по числовому значению. Работают форматы 12, 1/4, 0.25, 0,25, 0/3. Последний ищет только символ 0/3 из бейсбольных сводок (запрещён на Пикабу в монолитном виде, потому пишу так). Арабские цифры всегда предпочтительнее остальных.

Альтернативные имена символов. Вы это уже видели на картинке «1.7 vs 1.9». А вот что творится в египетских иероглифах (выпросил базу у одного голландского любителя Египта).

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

В таблицах Юникода есть и другая интересная информация о символах — например, восклицательный знак имеет альтернативные названия «factorial» и «bang». Из-за HD всё это приостановлено. Может, после пары недель простоя начну снова — если буду жив. Спасибо.

ИТ-проекты пикабушников

558 постов3.4K подписчиков

Правила сообщества

0. Запрещены посты вне тематики сообщества

1. Уважайте труд людей, пишите только конструктивную критику,

2. Не выкладывайте информацию по своему проекту чаще 2ух раз в месяц