Здесь буду публиковать изменения и исправления, ведь недостатки и ошибки наверняка найдутся.
Редактор шрифтов Adafruit_GFX
Редактор шрифтов Adafruit_GFX
Разработал небольшую програмку для редактирования шрифтов библиотеки Adafruit_GFX. Надеюсь будет полезна. Информация в статье на
.
Здесь буду публиковать изменения и исправления, ведь недостатки и ошибки наверняка найдутся.
Здесь буду публиковать изменения и исправления, ведь недостатки и ошибки наверняка найдутся.
Re: Редактор шрифтов Adafruit_GFX
Здравствуйте!
А можно добавить импортирование шрифта ttf из файла, для редактирования.
А можно добавить импортирование шрифта ttf из файла, для редактирования.
Re: Редактор шрифтов Adafruit_GFX
Добрый день.
Не вижу в этом смысла. ТТF это векторный шрифт, его "честный" импорт из файла на порядок усложнит программу, да и вообще не понятно как его потом конвертировать. Тем более что его установка в систему это просто двойной щелчок.
Не вижу в этом смысла. ТТF это векторный шрифт, его "честный" импорт из файла на порядок усложнит программу, да и вообще не понятно как его потом конвертировать. Тем более что его установка в систему это просто двойной щелчок.
-
Robin Denil
- Родился
- Сообщения: 1
- Зарегистрирован: Сб окт 14, 2023 15:03:12
Re: Редактор шрифтов Adafruit_GFX
Здравствуй друг.загружаю ttf., выбираю шрифт Arial ,набор символ кириллица или турецкий.Но там поевляется толка русские и английские буквы .Что делать друг .Заранее спасибо.
Re: Редактор шрифтов Adafruit_GFX
Немного не по теме. Когда-то пользовался программкой "bmp2lcd", но она "сломалась", при чём на всех виндах от ХР до 10. Не могли бы вы написать нечто подобное, чтобы конвертировало .bmp/.png файлы в массивы кодов Си с возможностью выбора любой произвольной разрядности цветов/бит на приксель, а так же направлений сканирования (вертикальное, горизонтальное). Безусловно, подобные программы есть, но все они поддерживают только стандартные цветовые схемы - 1, 15, 16, и 18 бит на пиксель. Хотелось бы так же иметь 2, 4, и 8 бит на пиксель.
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
Re: Редактор шрифтов Adafruit_GFX
Привет Nicochip
Сама по себе задача написать не очень сложная. Однако я не понимаю как Вы собираетесь выводить на экран изображение с нестандартными цветовыми схемами. Ну и программу "bmp2lcd" найти не удалось, так что возможно я не учитываю какие то нюансы.
Сама по себе задача написать не очень сложная. Однако я не понимаю как Вы собираетесь выводить на экран изображение с нестандартными цветовыми схемами. Ну и программу "bmp2lcd" найти не удалось, так что возможно я не учитываю какие то нюансы.
Re: Редактор шрифтов Adafruit_GFX
Как выводить это не проблема. Есть дисплеи с поддержкой 8 бит или 12 бит режимов. Есть такие хитрости как палетирование цветов или интерполяция с 8 до 16 бит. Главное иметь возможность компактного хранения массивов.
Немного обшибся, программа называется Img2Lcd.
Немного обшибся, программа называется Img2Lcd.
- Вложения
-
- image2lcd.zip
- (177.41 КБ) 350 скачиваний
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
Re: Редактор шрифтов Adafruit_GFX
Если Вы возметесь за тестирование, то могу попробовать написать. Правда быстро не обещаю.
Re: Редактор шрифтов Adafruit_GFX
Могу потестировать.
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
Re: Редактор шрифтов Adafruit_GFX
Доброе время суток, уважаемый автор!
Не могли бы Вы помочь.
Почему-то Ваша программа не может открыть файл (см. вложение)
При открытии этого файла, получаю сообщение об ошибке: "Содержимое файла не соответствует формату."
Для пробы сохранил Вашей программой TTF-файл и открыл его в блокноте. С виду всё идентично с моим, за мелкими исключениями. Пробовал менять формат конца строк на UNIX-овый, как у Вас, но не помогает.
Возможно, если бы сообщение об ошибке было более информативным, я бы докопался.
P.S. В первую очередь грешу на то, что в моём файле нет в конце комментария "// Approx. **** bytes". Я бы его добавил, но так и не понял, что за количество байт тут должно быть
Не могли бы Вы помочь.
Почему-то Ваша программа не может открыть файл (см. вложение)
При открытии этого файла, получаю сообщение об ошибке: "Содержимое файла не соответствует формату."
Для пробы сохранил Вашей программой TTF-файл и открыл его в блокноте. С виду всё идентично с моим, за мелкими исключениями. Пробовал менять формат конца строк на UNIX-овый, как у Вас, но не помогает.
Возможно, если бы сообщение об ошибке было более информативным, я бы докопался.
P.S. В первую очередь грешу на то, что в моём файле нет в конце комментария "// Approx. **** bytes". Я бы его добавил, но так и не понял, что за количество байт тут должно быть
- Вложения
-
- iceBicubik9.h
- (31.61 КБ) 207 скачиваний
Re: Редактор шрифтов Adafruit_GFX
Добрый день iVaRela.
К сожалению при написании программы я не смог найти стандарта файла, и возможно выставил слишком жесткие ограничения.
На счет информативности сообщения об ошибке Вы правы, я попробую что-то сделать.
По поводу Вашего файла с точки зрения программы там две ошибки
1 - имя файла не соответствует названию шрифта. (мне кажется он не должен из-за этого работать)
2 - значения начала и конца глифов в последней строчке файла должны быть в однобайтовом HEX формате. (возможно я в этом не прав)
По поводу "// Approx. **** bytes" это просто информационное сообщение: сколько памяти в Arduino займет шрифт.
Высылаю Вам исправленный файл.
К сожалению при написании программы я не смог найти стандарта файла, и возможно выставил слишком жесткие ограничения.
На счет информативности сообщения об ошибке Вы правы, я попробую что-то сделать.
По поводу Вашего файла с точки зрения программы там две ошибки
1 - имя файла не соответствует названию шрифта. (мне кажется он не должен из-за этого работать)
2 - значения начала и конца глифов в последней строчке файла должны быть в однобайтовом HEX формате. (возможно я в этом не прав)
По поводу "// Approx. **** bytes" это просто информационное сообщение: сколько памяти в Arduino займет шрифт.
Высылаю Вам исправленный файл.
- Вложения
-
- Bicubik9pt8b.h
- (29.69 КБ) 253 скачивания
Re: Редактор шрифтов Adafruit_GFX
Большое спасибо! Я на счёт имени файла и не подумал даже 
Подскажите, а почему такое строгое ограничение на имя файла? Ваша программа получает из него какую-то информацию?
Если нет, то возможно есть смысл просто выводить предупреждение типа "Имя файла не соответствует названию щрифта. Продолжить?" и кнопки Да/Нет.
Ещё раз спасибо за помощь!
P.S. Ещё нашёл небольшой косяк. Если я сохраняю файл, нажатием на дискету, после чего копирую и вставляю символ, то кнопка сохранения остаётся неактивной, и чтобы сохранить изменения приходится ставить и стирать где-нибудь пиксель.
P.P.S И ещё, я тут обнаружил, что программа не редактирует символы в диапазоне от 0x80 до 0xBF. А это прям зря!
В этот диапазон входят буквы 'ё' и 'Ё', кроме того, все прочие неиспользуемые коды можно использовать для хранения каких-то специфических символов, например символы стрелок, псевдографики, и т.д. на выбор пользователя.
Нельзя ли добавить в программу возможность редактирования этого диапазона символов?
Подскажите, а почему такое строгое ограничение на имя файла? Ваша программа получает из него какую-то информацию?
Если нет, то возможно есть смысл просто выводить предупреждение типа "Имя файла не соответствует названию щрифта. Продолжить?" и кнопки Да/Нет.
Ещё раз спасибо за помощь!
P.S. Ещё нашёл небольшой косяк. Если я сохраняю файл, нажатием на дискету, после чего копирую и вставляю символ, то кнопка сохранения остаётся неактивной, и чтобы сохранить изменения приходится ставить и стирать где-нибудь пиксель.
P.P.S И ещё, я тут обнаружил, что программа не редактирует символы в диапазоне от 0x80 до 0xBF. А это прям зря!
В этот диапазон входят буквы 'ё' и 'Ё', кроме того, все прочие неиспользуемые коды можно использовать для хранения каких-то специфических символов, например символы стрелок, псевдографики, и т.д. на выбор пользователя.
Нельзя ли добавить в программу возможность редактирования этого диапазона символов?
Re: Редактор шрифтов Adafruit_GFX
На здоровье!
На счет ограничения имени файла это не мое ограничение а Adafruit ну или Arduino IDE, и внутри имя файла указано аж в 3 местах (не знаю для чего).
Косяк с сохранением после копирования исправил. Скачать https://disk.yandex.ru/d/CS996v7V5OgV4Q
По поводу кодов от 0x80 до 0xBF, посчитал что шрифты и так занимают много места. Причем решил это в самом начале работы над программой. Принципиальных ограничений нет, но теперь нужно слишком много исправлять. Впрочем я покумекаю над этой проблеммой, как и над более информативными сообщениями об ошибках.
На счет ограничения имени файла это не мое ограничение а Adafruit ну или Arduino IDE, и внутри имя файла указано аж в 3 местах (не знаю для чего).
Косяк с сохранением после копирования исправил. Скачать https://disk.yandex.ru/d/CS996v7V5OgV4Q
По поводу кодов от 0x80 до 0xBF, посчитал что шрифты и так занимают много места. Причем решил это в самом начале работы над программой. Принципиальных ограничений нет, но теперь нужно слишком много исправлять. Впрочем я покумекаю над этой проблеммой, как и над более информативными сообщениями об ошибках.
Re: Редактор шрифтов Adafruit_GFX
mig958, возможно Вам будет интересно взглянуть на подобную программу: matrixFont.
Re: Редактор шрифтов Adafruit_GFX
Спасибо Andrey_B.
Я видел эту программу и несколько подобных.
Они меня не удовлетворили убогостью инструментов рисования. Я просто заколебался попиксельно рисовать шрифт размером 50 пикселей.
Но я вообще не программист. Так балуюсь иногда по надобности. Развивать я программу не собираюсь и выкладывать исходники тоже (
), писал чисто для себя.
Я видел эту программу и несколько подобных.
Они меня не удовлетворили убогостью инструментов рисования. Я просто заколебался попиксельно рисовать шрифт размером 50 пикселей.
Но я вообще не программист. Так балуюсь иногда по надобности. Развивать я программу не собираюсь и выкладывать исходники тоже (
Re: Редактор шрифтов Adafruit_GFX
Выражаю благодарность за программу! И сразу вопрос: а кнопку свернуть окно не завезли по какой причине? 
Прибор, защищённый предохранителем, сгорает первым, защитив предохранитель. Закон Мерфи.
Re: Редактор шрифтов Adafruit_GFX
Всех приветствую. Самый новый новичок. Такой дилетантский вопрос. Если можно объясните очень подробно. Вот создал я свой подходящий шрифт в редакторе шрифтов уважаемого автора. Есть папка с наименованием шрифта. Скажем - Calibri10 и в ней файл Calibri10.h. А что с ним делать дальше? 1. Где он должен находится? 2. Как и откуда этот шрифт вытащить к применению? 3. Как его прописать в Ардуино ИДЕ? У меня используется библиотека u8g2 и дисплей с процессором st7565. Пробую подогнать шрифт, чтоб поместился в строку. Чтоб не было насмешек, сразу говорю, стаж с esp32 и вообще - немного больше месяца.
Re: Редактор шрифтов Adafruit_GFX
вообще, тут надо знать Си... как и где подключаются заголовочные файлы.
Может, стоит прочитать книжку по С (а потом и С++)? это не займёт много времени и будет лучше, чем кусочковое объяснение конкретно этого случая, который, вообще-то, базовый для всего программирования на Си
Добавлено after 6 minutes 5 seconds:
Керниган, Брайан У., Ритчи, Деннис М.
Язык программирования С
2-е издание.
Глава 4 Функции и структура программы
лучше прочитать всю главу, а ещё лучше всю книгу, но данный вопрос: 4.5. Заголовочные файлы
Добавлено after 4 minutes 13 seconds:
и дополнительно можно прочитать
Веревка достаточной длины, чтобы… выстрелить себе в ногу (Правила программирования на Си и Си++). Ален И. Голуб. 2001
Обе книги есть здесь в Сундуке
Может, стоит прочитать книжку по С (а потом и С++)? это не займёт много времени и будет лучше, чем кусочковое объяснение конкретно этого случая, который, вообще-то, базовый для всего программирования на Си
Добавлено after 6 minutes 5 seconds:
Керниган, Брайан У., Ритчи, Деннис М.
Язык программирования С
2-е издание.
Глава 4 Функции и структура программы
лучше прочитать всю главу, а ещё лучше всю книгу, но данный вопрос: 4.5. Заголовочные файлы
Добавлено after 4 minutes 13 seconds:
и дополнительно можно прочитать
Веревка достаточной длины, чтобы… выстрелить себе в ногу (Правила программирования на Си и Си++). Ален И. Голуб. 2001
Обе книги есть здесь в Сундуке
Re: Редактор шрифтов Adafruit_GFX
Вы поясните человеку как в этот сундук попасть - в меню наверху, например, его нет. А есть, похоже, только на главной странице.
Платы для HLDI - установки лазерной засветки фоторезиста.
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com
Фоторезист Ordyl Alpha 350
Жидкое олово для лужения плат (видео) - самое лучшее и только у меня.
Паяльные маски XV501T-4 и KSM-S6189 (5 цветов).
Заказ печатных плат - pcbsmac@gmail.com