Делимся опытом Наступив на грабли - сообщи другим! Обмен опытом разработки и ремонта электронных устройств. |
25.07.2014, 11:39
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Шрифты для графических ч\б LCD
Доброго времени! Появилась необходимость в шрифтах различного размера для графических LCD, пару накидал на тетрадном листе, но на большее тямы не хватает, поэтому прошу пинка у интернет сообщества, наверняка в сети есть, но что-то мне не попадалось. Или может программки есть. А требуется мне шрифты формата:
Код:
|
// Шрифт 16 на 16 пикселей.
// Повторяет шрифт
// Изображение символа хранится в формате:
// Каждый байт описывает строку изображения символа.
// Строки описываются слева - направо.
// Младший бит байта описывается левый столбец,
// старший бит – правый столбец.
unsigned char Font_16x16_Data[] =
{
// 0x00 - "0".
0x07, 0xE0, 0x0F, 0xF8, 0x1E, 0x7C, 0x3C, 0x3C, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E,
0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x3C, 0x3C, 0x1E, 0x78, 0x1F, 0xF8, 0x07, 0xE0,
// 0x01 - "1".
0x01, 0xC0, 0x1F, 0xC0, 0x1F, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0,
0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x03, 0xC0, 0x1F, 0xF8, 0x1F, 0xF8,
// 0x02 - 2.
0x07, 0xE0, 0x0F, 0xF0, 0x18, 0x78, 0x30, 0x3C, 0x30, 0x3C, 0x30, 0x3C, 0x00, 0x7C, 0x00, 0x78,
0x00, 0xF8, 0x01, 0xF0, 0x03, 0xC0, 0x07, 0x8C, 0x0E, 0x0C, 0x3F, 0xFC, 0x3F, 0xF8, 0x3F, 0xF8,
// 0x03 - 3.
0x03, 0xE0, 0x0F, 0xF8, 0x1C, 0x7C, 0x18, 0x3C, 0x18, 0x3C, 0x00, 0x3C, 0x00, 0x78, 0x01, 0xF0,
0x01, 0xF0, 0x00, 0x78, 0x18, 0x3C, 0x38, 0x3C, 0x3C, 0x3C, 0x1C, 0x78, 0x1F, 0xF8, 0x07, 0xE0,
// 0x04 - 4.
0x00, 0x70, 0x00, 0xF0, 0x01, 0xF0, 0x03, 0xF0, 0x07, 0xF0, 0x0E, 0xF0, 0x1C, 0xF0, 0x38, 0xF0,
0x70, 0xF0, 0x60, 0xF0, 0x7F, 0xFE, 0x7F, 0xFE, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0xF0, |
Или хотя бы так
Код:
|
// Шрифт 6 на 8 пикселей.
// 8, // Высота символа в пикселах.
// 6, // Ширина символа в пикселах.
// 0xc0 - 'А'.
0x00, 0x7e, 0x11, 0x11, 0x11, 0x7e,
// 0xc1 - 'Б'.
0x00, 0x7f, 0x49, 0x49, 0x49, 0x31,
// 0xc2 - 'В'.
0x00, 0x7f, 0x49, 0x49, 0x49, 0x36,
// 0xc3 - 'Г'.
0x00, 0x7f, 0x01, 0x01, 0x01, 0x01,
// 0xc4 - 'Д'.
0xc0, 0x7e, 0x41, 0x41, 0x7f, 0xc0,
// 0xc5 - 'Е'.
0x00, 0x7f, 0x49, 0x49, 0x49, 0x41, |
Т.е желательно чтобы байт шрифта описывал строку, а не столбец. Пробовал ковырять библиотеки типа «u8glib_avr_v1.13», безуспешно, так и не понял в каком формате укомплектованы шрифты.
|
|
|
|
25.07.2014, 11:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,990
Сказал спасибо: 3,012
Сказали Спасибо 3,186 раз(а) в 2,161 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
|
|
|
Сказали "Спасибо" ForcePoint
|
|
|
25.07.2014, 11:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
25.07.2014, 11:59
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
как я понял функции импортирования шрифтов для Windows там нет?
Хорошо, есть у меня файл шрифта с расширением .ttf чем мне его перевести в формат понимаемый компилятором и мной? Т.е в
// 0x00 - "0".
0x07, 0xE0, 0x0F, 0xF8, 0x1E, 0x7C, 0x3C, 0x3C, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E,
0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x3C, 0x3C, 0x1E, 0x78, 0x1F, 0xF8, 0x07, 0xE0,
и с возможностью масштабирования
Последний раз редактировалось С.М.С; 25.07.2014 в 12:08.
|
|
|
|
25.07.2014, 13:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
Сообщение от С.М.С
|
файл шрифта с расширением .ttf
|
Это - векторный шрифт. Его надо растеризовать чем-то (например, fontforge). А потом либо готовое что-нибудь найти, либо самостоятельно в нужный вид привести этот набор байтиков - элементарщина же!
Но проще готовых bitmap-шрифтов нужного размера накачать и преобразовать их. Это от силы полторы страницы сишного кода!
P.S. И шрифты должны быть в кодировке той системы, где вы код пишете. Иначе задолбаетесь фразу конвертировать. а так - можно будет просто писать хоть по-русски текст, а printf-подобная функция его будет на экран выводить.
P.P.S. bitmap-шрифты не масштабируются! Под каждый размер - свой шрифт!!!
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
25.07.2014, 16:54
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
О том и речь. Что хорошо если бы была прога для преобразования векторных шрифтов windows в таблицу байтов , с возможностью развёртки по вертикали или горизонтали.
|
|
|
|
25.07.2014, 18:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
Какие размеры шрифтов требуются?
|
|
|
|
25.07.2014, 18:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
Есть такая серия прог iconedit как раз позволяют делать то, что нужно. Давал тут https://kazus.ru/forums/showpost.php...18&postcount=2
__________________
misterdi<@>i.ua
|
|
|
Сказали "Спасибо" MisterDi
|
|
|
25.07.2014, 22:30
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
Сообщение от Boba_spb
|
Какие размеры шрифтов требуются?
|
от 8\8 и до 64\64, для экранов 128\64 и 240\128.
А на какое время демо-версия действует? А то в описание лиценции написано, только про возможность обновления зарегестрированной версии.
Последний раз редактировалось С.М.С; 25.07.2014 в 22:37.
|
|
|
|
26.07.2014, 10:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: Шрифты для графических ч\б LCD
Растровый фонт высотой 64 - займет под 100 килобайт. Не смущает?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:20.
|
|