Tag: embedded

Переделали генерилку эмбедных фонтов на FreeType

github.com/littlevgl/lv_font_conv

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

Поэтому пошли другим путем, скомпилировали FreeType в WebAssembly. Стало хорошо.

  • Все билды завернули в докер, усилий по установке - ноль.
  • Для монохромных шрифтов заюзали специальный монохромный хинтер. Получилось подозрительно хорошо, даже не ожидал.
  • Для “стандартных” шрифтов по умолчанию включили “легкий” хинтер. Он улучшает только горизонтальные линии, но при этом не ломает кернинг.
  • Это все по-прежнему умеет работать в браузере (лично мне не надо, но разработчики LVGL просили).
lvgl (GUI-библиотеку) подкрутили под platformio

github.com/littlevgl/lvgl/issues/667

Я уже неоднократно упоминал, что озаботился модной и современной разработкой софта для всяких электронных девайсов. Когда с веб-разработки переключаешься на железки, такое впечатление, что вернулся лет на 10-15 назад в какой-то ад. Обсирать закостенелость эмбедов можно долго и аргументированно, но это не конструктивно. Поэтому речь пойдет о конкретных прикладных задачах и как с ними быть.