Я на малине Pi с прикрепленным экраном.Растерирование шрифта TTF
Вместо того, чтобы использовать X, я пишу пиксельные данные непосредственно в буфер кадров. Я смог нарисовать образы и примитивные формы, смешать, использовать двойную буферизацию и т. Д.
Где я нахожу проблему, это рисовать текст. Экран - это просто массив байтов с этого уровня, поэтому мне нужен способ взять шрифт, размер, текст и т. Д. И преобразовать его в растровое изображение (на самом деле предпочтительны bool[]
и width
/height
, поскольку это экономит дополнительное чтение/пишет.
Я не знаю, как подойти к этому.
вещи Я считал до сих пор ...
- Использование фиксированной ширины шрифта и атлас/spritemap. Должно работать , Я уже могу читать изображения, однако моноширинные шрифты имеют ограниченную визуальную привлекательность. Также означает, что добавление большего количества шрифтов является сложным.
- Использование шрифта с фиксированной шириной, атласа и маски, указывающих, где находится каждый символ. Будут поддерживаться шрифты с переменной шириной, однако масштабирование будет потеряно, и это похоже на кошмар обслуживания, если я не смогу автоматизировать создание атласа/маски.
Неужели кому-нибудь удалось сделать что-нибудь подобное раньше?
Если библиотека необходима, я могу жить с этим, но поскольку это больше упражнение в понимании моего Пи, чем это серьезный проект, я бы предпочел объяснение/учебник.
Модуль PIL (подушка) может растрировать шрифты TrueType, поэтому вы можете использовать его для создания растровых изображений символов шрифта по мере необходимости. – martineau