Я работаю на встроенной платформе (STM32F407) с TFT LCD в качестве дисплея (480x800px) и хотел бы сделать мой пользовательский интерфейс несколько настраиваемым для конечного пользователя. Я полагал, что лучшим источником шрифтов будет совместимость с Windows, так как они наиболее распространены.
Моя текущая реализация использует мой собственный нарисованный шрифт в двоичном формате и таблицу дескрипторов, дающую ширину символа и значение ascii, но необходимость рисовать мой собственный шрифт по крупицам утомительна.
Я хотел бы прочитать файл шрифта True Type с SD-карты и иметь возможность использовать глифы разных размеров внутри него, но я не видел прямой реализации того, как на самом деле добиться этого волшебства. Может ли кто-нибудь указать мне хороший пример того, что я ищу?
Еще лучше как способ сгладить изломы, я хотел бы сделать простую программу командной строки gcc, которая распечатает мой ввод с выбранным шрифтом, используя ‘#’ в качестве пикселей. Таким образом, я могу просто беспокоиться о реализации, а не о каких-либо других случайных ошибках, которые могут появиться.
Кто-нибудь может мне помочь?
Возможно, вы можете использовать Freetype библиотека.
Как говорит duskwuff: TTF — это, прежде всего, векторный формат, для этого нужно написать средство визуализации. Лучше использовать файл изображения для определения шрифта или использовать формат растрового шрифта, такой как FNT (Windows) или BDF (UNIX).
Вот мой ответ на мой собственный вопрос: BMFont AngelCode & Useage. Это позволяет выбирать отдельные символы из установленного набора символов, смешивать шрифт и экспортировать изображение с файлом карты для каждого символа. Прост в использовании.