Маленькие дисплеи дёшевы и просты в работе, но их скромный размер создаёт проблему: на экран помещается совсем немного символов. Чтобы обойти это ограничение, появился проект PixelFonts — семейство узких (condensed) шрифтов, созданных специально для экранов с низким разрешением, где каждая строка должна вмещать максимум текста.

Пример отображения шрифтов PixelFonts на небольшом дисплее

Речь идёт о тех самых крошечных экранах, что стоят в большинстве любительских электронных проектов, — монохромных OLED- и LCD-модулях вроде распространённых панелей на 128×64 пикселя. На таком экране важен буквально каждый пиксель, а стандартные шрифты часто расходуют ширину впустую, из-за чего в строку влезает лишь несколько символов.

реклама кормит Уточку 🦆

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

Как подключить

PixelFonts работает в связке с популярными графическими библиотеками Adafruit GFX или U8g2, которые как раз отвечают за вывод графики и текста на маленькие дисплеи в проектах на Arduino, ESP32 и подобных микроконтроллерах. Рисование на экране идёт привычным синтаксисом выбранной библиотеки, а само начертание берётся из PixelFonts.

реклама кормит Уточку 🦆

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

Открытый формат и доработка

Каждый шрифт поставляется вместе с файлом в формате BDF (Bitmap Distribution Format) — это текстовое описание растрового шрифта, которое легко открыть и поправить. Благодаря этому любой желающий может подстроить начертание под себя: изменить отдельные символы, добавить нужные знаки или подогнать шрифт под конкретный проект.

реклама кормит Уточку 🦆

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

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