
Qiji-Font (Qijiti) :
? Заявление: Мои шрифты были распространены в Интернете недавно, но все они неправильно поняты как «Ling» Dongqi Ji Style ». Меня зовут Лингдонг , а шрифт - Qiji ; Если вы хотите быть последним, вы также должны использовать « стиль Lingdong Qiji » в качестве самого важного, так что я надеюсь, что вы можете это знать. ? ♂️

| Уникальные глифы | Покрытые символы* | Книги отсканированы |
|---|---|---|
| 4569 | 5916 | Стихи Ли Чанджи/объяснение Хуайнана Хонли |
* Упрощенные формы возвращаются к традиционным формам, более распространенные традиционные варианты возвращаются к менее распространенным вариантам.
Шаг I: Загрузите PDF -файлы высокого разрешения (от shuge.org) и разделить страницы на изображения.
Шаг II: вручную положите сетку поверх каждой страницы, чтобы генерировать ограничивающие ящики для символов (потенциально заменяется автоматическим алгоритмом углового обнаружения).

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

Шаг IV: Поправьте каждую миниатюру один за другим в китайский OCR в нервном сети, чтобы распознать персонажи (в настоящее время используя китайский/темный сетевой уровень, низкую частоту обнаружения, посредственная точность, очень медленная на процессоре, в поисках лучших альтернатив).
Шаг V: Вручную судите вывод OCR: Выберите лучший экземпляр данного персонажа и флаг неправильно распознаваемых символов.

Шаг VI: Для окончательного набора символов автоматически генерируйте тонкий растровый рендеринг каждого символа. Каждый символ помещается в его «визуальном» центре путем совокупного подсчета пикселей слева и справа, а также сверху и снизу, так что «вес» персонажа находится на линиях центра, в отличие от центрирования граничной коробки. Используются два пороговых метода, глобальный порог расширяется и действует как маска для адаптивного порога, сохраняя тем самым детали, блокируя окружающие бугеры.

Шаг VII: программное обеспечение для трассировки трассировки растровых до векторов используется для преобразования растровых визуализаций в SVG. Библиотека Python от Fontforge используется для создания окончательного файла шрифта. Сделанный!
По мере роста количества символов вышеуказанная процедура будет все менее и менее эффективной, поскольку новые, ранее невидимые персонажи, полученные из каждой обработанной книги, будут реже и реже. Альтернативный метод, который включает в себя щелчок только на невидимых символах, чтобы выбрать их, находится в стадии строительства.
Требования:
pip3 install opencv-python )brew install fontforge ) Основной код содержится в /workflow и соответствует шагам, описанным выше. Документация для кода еще предстоит сделать (скоро), так что не стесняйтесь узнать, заинтересовано ли. Как вы могли заметить, в создании китайского шрифта есть тонна работы, так что вклад очень приветствуется :)
Лист всех уникальных глифов, отсортированных по точке входа Unicode, нажмите, чтобы увеличить. (Это потерянный jpeg, для полного PNG, проверьте здесь, для SVG, запустите node workflow/make_sheet.js )
