Написал прогу для просмотра и редактирования шрифтов Freetronics DMD.
Может кому пригодиться.
Кто может объяснить значения этих байтов, и как они рассчитываются
const static uint8_t Arial_14[] PROGMEM = {
0x1E, 0x6C, // size ???
Как же вы редактор фонтов писали, если формата не знаете?
Формат структуры GFX фонта описан в файле gfxfont.h библиотеки AdafruitGFX
Кстати, на тему редакторов - вот такое видели?
https://tchapi.github.io/Adafruit-GFX-Font-Customiser/
Да вот с этими байтами и не разобрался, знаю только если они 0 значит ширина фиксированная.
Прямо в этом же файле Arial14 на 5 строк выше все расписано:
* struct _FONT_ {
* uint16_t font_Size_in_Bytes_over_all_included_Size_it_self;
* uint8_t font_Width_in_Pixel_for_fixed_drawing;
* uint8_t font_Height_in_Pixel_for_all_characters;
* unit8_t font_First_Char;
* uint8_t font_Char_Count;
*
* uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1];
* // for each character the separate width in pixels,
* // characters < 128 have an implicit virtual right empty row
*
* uint8_t font_data[];
* // bit field of all characters
*/
А вот пример фонта с фиксированной шириной:
const static uint8_t System5x7[] PROGMEM = {
0x0, 0x0, // size of zero indicates fixed width font, actual length is width * height
0x05, // width
0x07, // height
0x20, // first char
0x60, // char count
// Fixed width; char width table not used !!!!
// font data
Да это я все читал. Но не понял ,что значит размер шрифта в байтах ? кол-во всех байтов в файле ? или сумма всех байтов в файле ?
Думаю это размер массива фонта в байтах. Никогда не задумывался над этим…
Вот этого массива
uint8_t System5x7[]
Я занимаюсь ремонтом весов, вот и попросили сделать дублирующие табло для весов. Вот и пришлось познакомиться с библиотекой DMD. Использую P10 панели.
Программу GLCDFontCreator наверно все знают, но в ней был косяк, при создании шрифта в ручную , не корректно выставлялся размер. Я исправил этот глюк.
Не разобрался тут можно прикреплять файлы ?
Ясно.
У меня есть DMD-библиотека с поддержкой стм32 и rp2040. Но поддержку чипов АВР пришлось выкинуть.
Работает как с монохромными, так и с РГБ панелями… если будет интересно.
Интересно… а в чем был глюк?
Размер фонта - параметр очень условный.
Да я видел вашу библиотеку, но я на avr сделал, у меня максимум 4 панели используется.