Редактирование шрифтов для u8glib библиотеки

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 6 марта 2018, 18:08

Данным методом можно не только редактировать, но и создавать свои шрифты. Но я опишу как редактировать, так как создавать не пробовал, но думаю если вам нужно, то сможете разобраться как это сделать.
Нам потребуется (я использовал):

1. Утилита, от разработчиков библиотеки, bdf2u8g
2. Редактор шрифтов - Fony
3. Шрифт для редактирования, в формате .fon

Запускаем Fony, и открываем шрифт который будем редактировать.

Редактирование шрифтов для u8glib библиотеки_1.jpg
Редактирование шрифтов для u8glib библиотеки
Редактирование шрифтов для u8glib библиотеки_1.jpg (98.25 КБ) 3210 просмотров


Далее кликая по пикселям, либо добавляем либо удаляем их. Я удалил диагональную линию в нуле.

Редактирование шрифтов для u8glib библиотеки_2.jpg
Редактирование шрифтов для u8glib библиотеки
Редактирование шрифтов для u8glib библиотеки_2.jpg (68.16 КБ) 3210 просмотров


После того как закончили редактировать, выбираем Файл -> Экспорт -> Шрифт BDF

Редактирование шрифтов для u8glib библиотеки_3.jpg
Редактирование шрифтов для u8glib библиотеки
Редактирование шрифтов для u8glib библиотеки_3.jpg (72.37 КБ) 3210 просмотров


И сохраняем его в корне диска С:

Далее идёт самое сложное, у многих здесь возникают проблемы. Нужно преобразовать шрифт из .bdf формата в .h.
Для этого нужно в любом текстовом редакторе создать файл со следующим содержанием:

Код: Выделить всё

bdf2u8g_101.exe 8x13D.bdf my8x13D my8x13D.h
pause

И сохраняем его в формате .bat, к примеру - преобразовать.bat. И сохраняем его тоже на диск С:. То есть, и шрифт и исполнительный файл .bat и утилита bdf2u8g_101.exe, должны быть в одном месте (к примеру в корне диска С:)

Редактирование шрифтов для u8glib библиотеки_4.jpg
Редактирование шрифтов для u8glib библиотеки
Редактирование шрифтов для u8glib библиотеки_4.jpg (89.61 КБ) 3210 просмотров


Теперь, запустив преобразовать.bat, мы увидим командную строку, в которой выполнилась команда преобразования шрифта, и создался файл my8x13D.h.

Редактирование шрифтов для u8glib библиотеки_5.jpg
Редактирование шрифтов для u8glib библиотеки
Редактирование шрифтов для u8glib библиотеки_5.jpg (69.1 КБ) 3210 просмотров


Его нужно немного подредактировать, а именно - удалить строку:

Код: Выделить всё

#include "u8g.h"    


и изменить строку:

Код: Выделить всё

const u8g_fntpgm_uint8_t my8x13D[361] U8G_FONT_SECTION("my8x13D") = {


на

Код: Выделить всё

const u8g_fntpgm_uint8_t my8x13D[361] U8G_FONT_SECTION(".progmem.my8x13D") = {


Теперь сохранив его, положим в папку со скетчем в который хотим подключить наш шрифт. Для подключения - в скетч добавляем:

Код: Выделить всё

#include "my8x13D.h"


ну и

Код: Выделить всё

u8g.setFont(my8x13D);


Вот и всё наш отредактированный шрифт готов к работе.

В приложенном архиве имеются все необходимые компоненты упомянутые в данной статье.
Редактирование шрифтов для u8glib библиотеки.zip
Редактирование шрифтов для u8glib библиотеки
(714.04 КБ) 584 скачивания
[center]i love you [s]mxIni[/s] Mysql[/center]


Вернуться в «Программирование»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя