Редактор шрифтов Adafruit_GFX

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Аватара пользователя
mig958
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт авг 29, 2014 14:08:19

Редактор шрифтов Adafruit_GFX

Сообщение mig958 »

Разработал небольшую програмку для редактирования шрифтов библиотеки Adafruit_GFX. Надеюсь будет полезна. Информация в статье на :)).
Здесь буду публиковать изменения и исправления, ведь недостатки и ошибки наверняка найдутся. :oops:
nillsoft
Родился
Сообщения: 12
Зарегистрирован: Ср фев 02, 2011 18:21:12
Откуда: Нижегородская обл.

Re: Редактор шрифтов Adafruit_GFX

Сообщение nillsoft »

Здравствуйте!
А можно добавить импортирование шрифта ttf из файла, для редактирования.
Аватара пользователя
mig958
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт авг 29, 2014 14:08:19

Re: Редактор шрифтов Adafruit_GFX

Сообщение mig958 »

Добрый день.
Не вижу в этом смысла. ТТF это векторный шрифт, его "честный" импорт из файла на порядок усложнит программу, да и вообще не понятно как его потом конвертировать. Тем более что его установка в систему это просто двойной щелчок.
Robin Denil
Родился
Сообщения: 1
Зарегистрирован: Сб окт 14, 2023 15:03:12

Re: Редактор шрифтов Adafruit_GFX

Сообщение Robin Denil »

Здравствуй друг.загружаю ttf., выбираю шрифт Arial ,набор символ кириллица или турецкий.Но там поевляется толка русские и английские буквы .Что делать друг .Заранее спасибо.
Аватара пользователя
Nicochip
Встал на лапы
Сообщения: 142
Зарегистрирован: Чт ноя 08, 2018 12:02:06

Re: Редактор шрифтов Adafruit_GFX

Сообщение Nicochip »

Немного не по теме. Когда-то пользовался программкой "bmp2lcd", но она "сломалась", при чём на всех виндах от ХР до 10. Не могли бы вы написать нечто подобное, чтобы конвертировало .bmp/.png файлы в массивы кодов Си с возможностью выбора любой произвольной разрядности цветов/бит на приксель, а так же направлений сканирования (вертикальное, горизонтальное). Безусловно, подобные программы есть, но все они поддерживают только стандартные цветовые схемы - 1, 15, 16, и 18 бит на пиксель. Хотелось бы так же иметь 2, 4, и 8 бит на пиксель.
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
Аватара пользователя
mig958
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт авг 29, 2014 14:08:19

Re: Редактор шрифтов Adafruit_GFX

Сообщение mig958 »

Привет Nicochip
Сама по себе задача написать не очень сложная. Однако я не понимаю как Вы собираетесь выводить на экран изображение с нестандартными цветовыми схемами. Ну и программу "bmp2lcd" найти не удалось, так что возможно я не учитываю какие то нюансы.
Аватара пользователя
Nicochip
Встал на лапы
Сообщения: 142
Зарегистрирован: Чт ноя 08, 2018 12:02:06

Re: Редактор шрифтов Adafruit_GFX

Сообщение Nicochip »

Как выводить это не проблема. Есть дисплеи с поддержкой 8 бит или 12 бит режимов. Есть такие хитрости как палетирование цветов или интерполяция с 8 до 16 бит. Главное иметь возможность компактного хранения массивов.

Немного обшибся, программа называется Img2Lcd.
Вложения
image2lcd.zip
(177.41 КБ) 350 скачиваний
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
Аватара пользователя
mig958
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт авг 29, 2014 14:08:19

Re: Редактор шрифтов Adafruit_GFX

Сообщение mig958 »

Если Вы возметесь за тестирование, то могу попробовать написать. Правда быстро не обещаю.
Аватара пользователя
Nicochip
Встал на лапы
Сообщения: 142
Зарегистрирован: Чт ноя 08, 2018 12:02:06

Re: Редактор шрифтов Adafruit_GFX

Сообщение Nicochip »

Могу потестировать.
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
iVaRela
Родился
Сообщения: 2
Зарегистрирован: Чт янв 25, 2024 20:00:36

Re: Редактор шрифтов Adafruit_GFX

Сообщение iVaRela »

Доброе время суток, уважаемый автор!

Не могли бы Вы помочь.
Почему-то Ваша программа не может открыть файл (см. вложение)
При открытии этого файла, получаю сообщение об ошибке: "Содержимое файла не соответствует формату."
Для пробы сохранил Вашей программой TTF-файл и открыл его в блокноте. С виду всё идентично с моим, за мелкими исключениями. Пробовал менять формат конца строк на UNIX-овый, как у Вас, но не помогает.
Возможно, если бы сообщение об ошибке было более информативным, я бы докопался.

P.S. В первую очередь грешу на то, что в моём файле нет в конце комментария "// Approx. **** bytes". Я бы его добавил, но так и не понял, что за количество байт тут должно быть
Вложения
iceBicubik9.h
(31.61 КБ) 207 скачиваний
Аватара пользователя
mig958
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт авг 29, 2014 14:08:19

Re: Редактор шрифтов Adafruit_GFX

Сообщение mig958 »

Добрый день iVaRela.
К сожалению при написании программы я не смог найти стандарта файла, и возможно выставил слишком жесткие ограничения.
На счет информативности сообщения об ошибке Вы правы, я попробую что-то сделать.
По поводу Вашего файла с точки зрения программы там две ошибки
1 - имя файла не соответствует названию шрифта. (мне кажется он не должен из-за этого работать)
2 - значения начала и конца глифов в последней строчке файла должны быть в однобайтовом HEX формате. (возможно я в этом не прав)
По поводу "// Approx. **** bytes" это просто информационное сообщение: сколько памяти в Arduino займет шрифт.
Высылаю Вам исправленный файл.
Вложения
Bicubik9pt8b.h
(29.69 КБ) 254 скачивания
iVaRela
Родился
Сообщения: 2
Зарегистрирован: Чт янв 25, 2024 20:00:36

Re: Редактор шрифтов Adafruit_GFX

Сообщение iVaRela »

Большое спасибо! Я на счёт имени файла и не подумал даже :-)

Подскажите, а почему такое строгое ограничение на имя файла? Ваша программа получает из него какую-то информацию?
Если нет, то возможно есть смысл просто выводить предупреждение типа "Имя файла не соответствует названию щрифта. Продолжить?" и кнопки Да/Нет.

Ещё раз спасибо за помощь!

P.S. Ещё нашёл небольшой косяк. Если я сохраняю файл, нажатием на дискету, после чего копирую и вставляю символ, то кнопка сохранения остаётся неактивной, и чтобы сохранить изменения приходится ставить и стирать где-нибудь пиксель.

P.P.S И ещё, я тут обнаружил, что программа не редактирует символы в диапазоне от 0x80 до 0xBF. А это прям зря! :-)
В этот диапазон входят буквы 'ё' и 'Ё', кроме того, все прочие неиспользуемые коды можно использовать для хранения каких-то специфических символов, например символы стрелок, псевдографики, и т.д. на выбор пользователя.
Нельзя ли добавить в программу возможность редактирования этого диапазона символов?
Аватара пользователя
mig958
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт авг 29, 2014 14:08:19

Re: Редактор шрифтов Adafruit_GFX

Сообщение mig958 »

На здоровье! :beer:
На счет ограничения имени файла это не мое ограничение а Adafruit ну или Arduino IDE, и внутри имя файла указано аж в 3 местах (не знаю для чего).
Косяк с сохранением после копирования исправил. Скачать https://disk.yandex.ru/d/CS996v7V5OgV4Q
По поводу кодов от 0x80 до 0xBF, посчитал что шрифты и так занимают много места. Причем решил это в самом начале работы над программой. Принципиальных ограничений нет, но теперь нужно слишком много исправлять. Впрочем я покумекаю над этой проблеммой, как и над более информативными сообщениями об ошибках.
Аватара пользователя
Andrey_B
Электрический кот
Сообщения: 1096
Зарегистрирован: Пт апр 09, 2010 16:06:38
Откуда: Тула

Re: Редактор шрифтов Adafruit_GFX

Сообщение Andrey_B »

mig958, возможно Вам будет интересно взглянуть на подобную программу: matrixFont.
Аватара пользователя
mig958
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт авг 29, 2014 14:08:19

Re: Редактор шрифтов Adafruit_GFX

Сообщение mig958 »

Спасибо Andrey_B.
Я видел эту программу и несколько подобных.
Они меня не удовлетворили убогостью инструментов рисования. Я просто заколебался попиксельно рисовать шрифт размером 50 пикселей.
Но я вообще не программист. Так балуюсь иногда по надобности. Развивать я программу не собираюсь и выкладывать исходники тоже ( :oops: ), писал чисто для себя.
Аватара пользователя
Seriyvolk
Друг Кота
Сообщения: 4961
Зарегистрирован: Сб май 05, 2012 20:19:55
Откуда: Минск

Re: Редактор шрифтов Adafruit_GFX

Сообщение Seriyvolk »

Выражаю благодарность за программу! И сразу вопрос: а кнопку свернуть окно не завезли по какой причине? :))
Прибор, защищённый предохранителем, сгорает первым, защитив предохранитель. Закон Мерфи.
Аватара пользователя
dankr
Открыл глаза
Сообщения: 55
Зарегистрирован: Вс сен 10, 2017 15:32:28
Откуда: Крым

Re: Редактор шрифтов Adafruit_GFX

Сообщение dankr »

Всех приветствую. Самый новый новичок. Такой дилетантский вопрос. Если можно объясните очень подробно. Вот создал я свой подходящий шрифт в редакторе шрифтов уважаемого автора. Есть папка с наименованием шрифта. Скажем - Calibri10 и в ней файл Calibri10.h. А что с ним делать дальше? 1. Где он должен находится? 2. Как и откуда этот шрифт вытащить к применению? 3. Как его прописать в Ардуино ИДЕ? У меня используется библиотека u8g2 и дисплей с процессором st7565. Пробую подогнать шрифт, чтоб поместился в строку. Чтоб не было насмешек, сразу говорю, стаж с esp32 и вообще - немного больше месяца.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Редактор шрифтов Adafruit_GFX

Сообщение Martian »

вообще, тут надо знать Си... как и где подключаются заголовочные файлы.
Может, стоит прочитать книжку по С (а потом и С++)? это не займёт много времени и будет лучше, чем кусочковое объяснение конкретно этого случая, который, вообще-то, базовый для всего программирования на Си

Добавлено after 6 minutes 5 seconds:
Керниган, Брайан У., Ритчи, Деннис М.
Язык программирования С
2-е издание.
Глава 4 Функции и структура программы

лучше прочитать всю главу, а ещё лучше всю книгу, но данный вопрос: 4.5. Заголовочные файлы

Добавлено after 4 minutes 13 seconds:
и дополнительно можно прочитать
Веревка достаточной длины, чтобы… выстрелить себе в ногу (Правила программирования на Си и Си++). Ален И. Голуб. 2001

Обе книги есть здесь в Сундуке
Аватара пользователя
smacorp
Друг Кота
Сообщения: 3472
Зарегистрирован: Вт окт 22, 2013 04:37:23
Откуда: Казань

Re: Редактор шрифтов Adafruit_GFX

Сообщение smacorp »

Вы поясните человеку как в этот сундук попасть - в меню наверху, например, его нет. А есть, похоже, только на главной странице.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Редактор шрифтов Adafruit_GFX

Сообщение Martian »

да, действительно... ну, он гуглится, если что :))) как сундук радиокота

https://sunduk.radiokot.ru/
Ответить

Вернуться в «Arduino»