Я собрал несколько растровых шрифтов высотой 10 пикселей из репозитория dafont в формате TTF. Однако у меня возникли проблемы с извлечением из них фактических данных растрового изображения, поскольку они кажутся в векторной форме, и я не могу понять соответствие между размером точки и размером пикселя при рендеринге. Мне нужны предложения по программным инструментам, библиотекам или подходам для получения точных попиксельных растровых данных, соответствующих буквенным формам.
Пример шрифта, который имеет смысл проблемы: http://www.dafont.com/commodore-64-pixelized.font
Моя цель — использовать один или несколько из этих растровых шрифтов для управления дисплеем Persistence Of Vision (POV) на базе Arduino как часть http://shrimping.it проект.
Устройства POV используют линию светодиодов для рисования текста в воздухе путем включения и выключения светодиодов при перемещении устройства из стороны в сторону. Известным примером является MiniPOV от Adafruit http://www.ladyada.net/make/minipov3/
Чтобы написать код микроконтроллера для мигания светодиодами, мне нужно получить попиксельную информацию от шрифта, другими словами, мне нужна схема для извлечения данных из файлов формата TTF, которые мне предоставили, чтобы избежать сделать это вручную для каждого символа и каждого шрифта.
До сих пор я экспериментировал с обработкой (http://processing.org), но я не вижу, как выбрать размер точки для визуализации TTF, чтобы шрифт рисовался с точным соответствием базовой сетке. пикселей. Получив это, я могу получить информацию, но, похоже, я не могу туда добраться. Значения textAscent и textDescent, сообщаемые Processing, кажутся ненужными, по крайней мере, для шрифтов, которые я пробовал.
Я тестирую следующие шрифты: Advocut, Andina, Aux DotBitC, BM tube, Commodore 64 Pixelised, Homespun BRK, Nayupixel, SG05 и Visitor. Вы можете получить любой из них самостоятельно, выполнив поиск на dafont.com, если вам нужно увидеть исходные данные, чтобы лучше понять проблему.