Комментарии 22
Держи "+" за работу, сам в своё время рисовал уродце-шрифт для ублюд-экрана, где каждая буква была в строгое знакоместо 15х7 (НЕ СПРАШИВАЙ) и нужен был набор R/I/B/BI, но последнее я уже не осилил.
Это вы еще не пробовали рисовать букву "Щ" в знакоместе 5x7.
Как бы подобные шрифты существуют. Хотя бы от Гайвера...
Да шрифтов для себя было сделано много много раз. Вот если бы ИИшку натренировать на генерацию шрифта для определенного занкоместа автоматически, по указанному шрифту - было бы прикольно.
Про Гайвера не знаю. Из того, что встречал, — либо моноширинные, либо автоматически переведённые из вектора в растр. Первый подход больше про экономию ресурсов контроллера, второй — про экономию ресурсов программиста. Сегодня на работе видел переведённые шрифты на дорогущей новенькой кофемашине :) Напрашивается сглаживание, но это в разы больше памяти
Сегодня на работе видел переведённые шрифты на дорогущей новенькой кофемашине :)
У кофемашин и других подобных приборов самое раздражающее - это не шрифты, а неуместн. сокращен. Я понимаю, что оригинальные английские слова короче русских, но можно же подойти к своей работе чуть более творчески, чем перевести дословно и отрезать невместившиеся буквы?
Незаслуженно забыты векторные шрифты BGI:

Шрифт и правда интересный, но опять же в растр переводить.
Не нужно. Рендер там копеешный. ~100 строк на С.
Посмотрю в выходные, спасибо!
Должно быть примерно такое:

Мне удалось воспроизвести ваш код на своём дисплее — шрифты действительно очень качественные, с приятной чёткостью и таким же олдскульным настроением как nokia. Однако возникли и некоторые сложности: на моих монохромных дисплеях (которые работают через библиотеку U8g2) использовать BGI‑шрифты "из коробки" не вышло — U8g2 не поддерживает этот формат, а Adafruit_GFX есть не для всех дисплеев. Напрашивается кастомное решение: либо экспортировать BGI‑шрифты в привычный растровый формат (например, BDF, а потом в сжатый массив), либо написать свой рендер прямо под U8g2.
Небольшие наблюдения по самому рендеру: сочетание «Ют» выводится без пробела (буквы слипаются). Возможно, так заложено в исходных векторных контурах, а может, это особенность библиотеки. Буквы «ф» и «ш» слегка сжаты по горизонтали, намекая на моноширинность. Это не критично, но заметно.
Отличная находка для пополнения коллекции кириллических шрифтов, ранее я не знал о их существовании.

Я не знаю почему, но прям радует глаз ваш шрифт.
Неужели ничего из сотни шрифтов библиотеки u8g2 вам не подошло? Там кириллица много где отсутствует, но думаю все равно можно найти не один вариант по своему вкусу.
Да, u8g2 большая библиотека, и есть встроенные кириллические шрифты. Возможно, я просто не нашёл подходящий. Для моей задачи самодельный вариант оказался предпочтительнее. В нём нет чрезмерного сжатия букв по ширине и отсутствуют шероховатости перевода из вектора. Вообще лучшее, что я встречал из готовых — BusMatrix: прекрасная адаптация, и чувствуется особое настроение.
Мой первый редактор матричных шрифтов я делал на MSX-BASIC... Там была масса операций над матрицей, копирование... Когда последний раз понадобился шрифт, что воспользовался проектом https://github.com/Llerr/FontCreator
Обычно в MatrixFont делаю\переделываю вручную, с переделанным кодогенератором под Adafruit GFX.

«Ща будет шрифт»: история одного русского embedded‑шрифта