Каждый программист при работе с графическими дисплеями сталкивается с необходимостью создания шрифтов. Для небольших дисплеев – это растровые шрифты, глифы которых хранятся ввиде массива, записываемого в заголовочный файл C. В сети есть как множество бесплатных программ-редакторов таких шрифтов, каждая их которых "заточена" под потребности конкретного разработчика, так и платные универсальные редакторы. Попробовав с десяток таких программ, и не получив удовлетворительного результата плюнул и написал еще одну – свою.
Особенности LCD Font Visual:
- редактор не сохраняет шрифт во внутренний формат;
- читает шрифт из файлов исходного кода на C (C++);
- позволяет добавлять и удалять символы, а также передвигать их вверх или вниз по таблице;
- позволяет редактировать глифы;
- генерирует заголовочный файл C (*.h), содержащий откорректированный вариант;
- поддерживает два типа файлов шрифтов: обычный, когда массив байтов шрифта содержит только байты глифов, а также, если первые 4 байта отводятся под служебные значения – это: ширина и высота символа в пикселах, смещение первого символа от начала таблицы и количество символов.
- работает со шрифтами, с вертикальной ориентацией байтов слева направо, младший бит которых отражает состояние верхнего пиксела, как показано на рисунке:
Главное окно программы:
Основные элементы главного окна:
LCD Font Visual не позволяет создать шрифт "с нуля", поэтому основные этапы работы с программой следующие:
- нажатием кнопки "Открыть" откройте существующий файл шрифта в виде исходного кода на C (*.h, *.c);
- нажатием кнопки "Показать символы" дайте редактору команду прочесть из этого файла глифы;
- откорректируйте глифы или таблицу символов;
- нажатием кнопки "Сгенерировать исходник" дайте редактору команду сгенерировать новый текст исходного кода на C;
- нажатием кнопки "Сохранить" сохраните новый файл шрифта.
Если установлен флажок "Читать из файла", то ширина и высота символа в пикселах, смещение первого символа от начала таблицы и количество символов читаются из первых 4-х байт массива.
Содержимое исходного файла отображается в области "содержимого исходного файла шрифта". Сгенерированный текст отображается в области "содержимого сгенерированного файла шрифта". Обе указанные области позволяют редактировать их содержимое. В части области "содержимого исходного файла шрифта" это полезно, если вы видите, что исходный файл содержит ошибки и при этом редактор неверно отображает символы. В части области "содержимого сгенерированного файла шрифта" это полезно, т.к. позволяет внести коррекцию перед сохранением текста в файл.
Символы шрифта отображаются в области "списка символов". Размер и цвета изображения настраиваются в диалоге настройки:
Чтобы изменить изображение символа (глиф) щелкайте левой кнопкой мыши на ячейках в области "просмотра увеличенного изображения и редактирования". При щелчке биты инвертируются.
Вставка нового символа, удаление символа, перемещение символа вверх и вниз по таблице осуществляются нажатием соответствующих кнопок на панели инструментов.
Чтобы сгенерировать новый исходный текст из откорректированных символов шрифта нажмите кнопку "Сгенерировать исходник", в появившемся диалоге "Параметры генерации исходного кода" задайте требуемые значения и нажмите кнопку "OK".
Если установлен флажок "Читать из файла", то ширина и высота символа, смещение первого символа и количество символов добавляются в первые 4-е байта массива.
Диалог "Параметры генерации исходного кода":
Поля "Верхний колонтитул" и "Нижний колонтитул" позволяют вводить многострочный текст.
Текст в поле "Заголовок массива" может содержать один или два подстановочных места: в место "%s" подставляется имя исходного файла; в место "%d" подставляется размер массива в байтах.
Программа не генерирует символы, определяющие тело массива {}, поэтому они должны быть указаны соответственно в полях "Заголовок массива" и "Нижний колонтитул".
Синтаксический анализ корректности C-кода в полях диалога "Параметры генерации исходного кода", а также имени файла при его подстановке в дефайн не проводится.
|